code-puppy-core-plugins 0.0.104__tar.gz → 0.0.105__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.104 → code_puppy_core_plugins-0.0.105}/PKG-INFO +1 -1
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/README.md +68 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/agent.py +15 -0
- code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/acp/themes.py +99 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/README.md +36 -0
- code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/theme/catalog.py +183 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/register_callbacks.py +6 -5
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/pyproject.toml +1 -1
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/.gitignore +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/LICENSE +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/THIRD_PARTY_NOTICES.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/auth_status.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/bridge.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/capabilities.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/commands.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/content.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/io_delegation.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/mcp_config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/permissions.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/persistence.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/replay.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/session.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/session_config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/state.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_creator_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_creator_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_creator_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/enabled_skills.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/metadata.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/prompt_builder.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/provider.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/skill_commands.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/skills_menu.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/attachment_references/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/attachment_references/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/attachment_references/tool.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/auto_continue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/auto_continue/classifier.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/auto_continue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/utils.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/token.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/utils.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/background_agents/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/background_agents/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/background_agents/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/inline_view.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/side_query.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/IMAGEGEN_SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/image_generation.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/image_tool.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/model_catalog.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/usage.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/trust.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/SETUP.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/fast_mode.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/model_filter.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/model_provider.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/prompt_handler.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/runtime_credentials.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/token_store.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/AGENTS_AND_TOOLS.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/MODELS_AND_MCP.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/PLUGINS_AND_CALLBACKS.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/SESSIONS_AND_HISTORY.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/SKILLS_SYSTEM.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/SYSTEM_PROMPT_CONFIG_AND_I18N.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/locales/fr-CA.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/notifier.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/FOCUS_INVESTIGATION.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/NativeCapture.swift +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/PARITY.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/WINDOWS.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/activation.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/backend.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/backend_types.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/batch.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/capture.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/commands.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/geometry.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/inline_image.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/keycodes.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/locales/fr-CA.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/macos_backend.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/permissions.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/policy.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/safety.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/settle.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/state.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/tools.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_activation.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_backend.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_capture.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_input.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_native.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_runtime.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/context_indicator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/context_indicator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/context_indicator/usage.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/reasoning_client.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/responses_stream.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/customizable_commands/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/customizable_commands/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/cancel.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/commands.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/lifecycle.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/runtime.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/startup_lock.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/workflow_ids.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/wrapper.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/AGENTS.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/stripper.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/empty_html_comment_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/example_custom_command/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/example_custom_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/execution_environment/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/execution_environment/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/execution_environment/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/file_permission_handler/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/file_permission_handler/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/pipeline.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/synopsis.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/about.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/address-feedback.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/ask.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/aug.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/auto-pilot.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/commit.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/config.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/create-pr.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/exec.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/new.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/qa.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/rebase.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/review.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/split.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/squash-commits.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/status.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/tests.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_about.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_cheatsheet.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_status.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/installer.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/force_push_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/force_push_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/force_push_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/fork/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/fork/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/emitter.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/session_context.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/client.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/command_intent.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/launch_command.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/launcher.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/reporter.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/restore.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/smoke.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/sources.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_creator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_creator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/hooks_menu.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/trust_handler.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/chunks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/judge.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/retrieve.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/search.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/structure.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/tool.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/treesitter.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_instrumentation/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_instrumentation/instrumentation.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_instrumentation/legacy_core.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_instrumentation/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_instrumentation/sdk.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/oauth.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/query_tool.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/mirror.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/query.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/sync.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/custom_install.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/http_form.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/plan.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/namespaces.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/search_tool.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/no_tools/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/no_tools/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/oauth_pasteback.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/oauth_puppy_html.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/agent_obsidian.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama_setup/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama_setup/completer.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama_setup/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugin_contributions.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugin_meta.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugin_text_utils.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugins_menu.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugins_menu_render.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/project_trust_flow.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_settings.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pop_command/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pop_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/menu.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prompt_newline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prompt_newline/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prompt_newline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/prune_menu.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/prune_model.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/prune_render.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/adapter.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/agents.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/catalog.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/commands.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/prompt.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/skill_validator.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/skills/create-skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/upstream.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/UPSTREAM.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/LICENSE +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/skills/control-cli/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/skills/control-ui/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/skills/deslop/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/LICENSE +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/agents/comment-sicko.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/agents/poteto-agent.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/FOR_AGENTS.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/references/control-adapter.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/references/feature-map.example.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/references/verify-existing-fix.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/setup-benny/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/triage-issue-reports/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/triage-issue-reports/references/routing.example.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/templates/configuration.example.yaml +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/templates/reproduce-automation-prompt.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/templates/triage-automation-prompt.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/01-setup.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/02-poteto-mode.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/03-understand.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/04-design.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/05-build-and-clean.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/06-verify-and-ship.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/07-overnight.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/08-principles.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/09-make-it-yours.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/10-recipes-and-pitfalls.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/plugin.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/references/design-red-flags.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/references/rationale-template.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/references/runner-prompt.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/arena/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/automate-me/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/benchmark-checklist/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/blast-radius/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/bro/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/correct/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/references/feature-map-example/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/references/feature-map-example/create-note.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/references/feature-map-example/search.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/figure-it-out/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/how/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/how/references/explainer-prompt.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/how/references/explorer-prompt.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/in-your-own-words/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/code-quality-review.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/lead-judgment.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/reviewer-prompt.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/rubric.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/ketchup/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/maintain-verification-skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/make-bot-ui/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/no-comments/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-help/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-help/references/prompting.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-help/references/recipes.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/authoring-a-skill.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/autonomous-run.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/autopilot-full.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/autopilot-stack.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/babysit.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/bug-fix.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/eval.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/feature.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/hillclimb.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/investigation.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/multi-phase-plan.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/opening-a-pr.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/orchestrate.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/pause-safely.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/perf-issue.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/prototype.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/refactoring.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/runtime-forensics.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/session-pickup.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/shipping.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/trace-forensics.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/visual-parity.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/worktree-cleanup.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/references/bugbot-triage.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/bootstrap.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/bun.lock +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/check-plan.mjs +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/check-plan.test.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/orch/orch.test.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/orch/orch.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/orch/store.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/package.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/cli.test.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/cli.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/github.test.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/github.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/policy.test.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/policy.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/render.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/tsconfig.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/types.compile.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/types.ts +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/watch-pr +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/worktree-audit.sh +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-attack-the-premise/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-boundary-discipline/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-build-the-lever/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-encode-lessons-in-structure/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-exhaust-the-design-space/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-experience-first/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-explain-the-number/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-fix-root-causes/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-foundational-thinking/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-guard-the-context-window/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-laziness-protocol/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-make-operations-idempotent/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-minimize-reader-load/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-model-the-domain/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-never-block-on-the-human/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-outcome-oriented-execution/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-prove-it-works/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-redesign-from-first-principles/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-separate-before-serializing-shared-state/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-sequence-verifiable-units/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-subtract-before-you-add/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-test-behavior-not-implementation/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-type-system-discipline/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/recall/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/divergent-reviewer.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/judgment-reviewer.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/synthesizer.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/tooling-reviewer.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/setup-pstack/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/show-me-your-work/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/show-me-your-work/references/decision-log-template.tsv +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/show-me-your-work/scripts/log.sh +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/swarm/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/tdd/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/teach/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/technical-writing/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/typescript-best-practices/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/typescript-best-practices/references/patterns.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/unslop/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/epistemics.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/investigator-prompt.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/source-playbook.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/code-archaeology.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/databricks.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/datadog.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/incident-postmortem.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/linear.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/notion.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/sentry.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/slack.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/synthesizer-prompt.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/commands.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/kennel.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/packer.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/recorder.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/retriever.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/schema.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/state.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/tools.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/wings.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/builtin_frames.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/commands.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/picker.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/spinners.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/qa_kitten_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/qa_kitten_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/qa_kitten_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/quick_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/quick_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/locales/fr-CA.json +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/review_pr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/review_pr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/session_namer/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/session_namer/namer.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/session_namer/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/agent_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/auth_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/cli.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/config_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/doctor.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/export_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/mcp_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/model_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/output.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/plugin_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/providers.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/sbx_plan.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/skill_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/wizard.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/LICENSE.deepseek +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/store.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/stack_dump/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/stack_dump/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/payload.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/prompt_patch.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/runner.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/statusline_command.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/steer_queue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/steer_queue/queue_menu.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/steer_queue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/README.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/coalesce_patch.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/panel_render.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/resume_repaint.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/state.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/switch_agent_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/switch_agent_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/termflow_tui.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/bundled_palettes.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/content_styles.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/osc_palette.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/picker.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/prompt_toolkit_theme.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/rich_themes.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/themes.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/timestamp_heartbeat/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/timestamp_heartbeat/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/models.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/provider.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/registry.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/sandbox.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/web_retriever_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/web_retriever_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/web_retriever_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/cancellation.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/goal_runs.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/judge.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/judge_config.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/judges_menu.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/state.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/yolo_cli/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.104 → code_puppy_core_plugins-0.0.105}/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.105
|
|
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
|
|
@@ -130,6 +130,7 @@ Every file stays well under the 600-line cap and owns one concern.
|
|
|
130
130
|
| `bridge.py` | `EventBridge`: registers `stream_event` / `pre_tool_call` / `post_tool_call` hooks and translates them into SDK `session/update`s via `connection.session_update`. (Hooks, **not** MessageBus — see *Event source*.) |
|
|
131
131
|
| `permissions.py` | Wires Code Puppy's two approval edges to the client via the SDK's `request_permission`: the `tools.common` approval backend (files, cross-thread) and the `run_shell_command` hook (shell). Fails closed. |
|
|
132
132
|
| `io_delegation.py` | `DelegatedFileSystemBackend` (sync, cross-thread) + `DelegatedCommandExecutor` (async terminal lifecycle) that plug into the core I/O seams, capability-gated. |
|
|
133
|
+
| `themes.py` | Read-only theme catalog: the `_code_puppy/themes/list` ext method, the `codePuppy/theme` session `_meta`, and the `_code_puppy/themes/changed` poll (`ThemeWatcher`). |
|
|
133
134
|
| `state.py` | Process-wide run context: the SDK connection + its loop, the active session id, and the open-tool-call stack — so the permission/I/O seams (plain module functions) can reach the running connection and correlate events. |
|
|
134
135
|
|
|
135
136
|
```
|
|
@@ -319,6 +320,73 @@ change.
|
|
|
319
320
|
|
|
320
321
|
---
|
|
321
322
|
|
|
323
|
+
## Theme catalog (`_code_puppy/themes/*`)
|
|
324
|
+
|
|
325
|
+
You can list Code Puppy's color themes and track the active one without reading
|
|
326
|
+
its config. The catalog is read-only: there is no setter.
|
|
327
|
+
|
|
328
|
+
### `_code_puppy/themes/list`
|
|
329
|
+
|
|
330
|
+
Send this request before or after `session/new`. It needs no session. Send
|
|
331
|
+
`{}` or omit `params`; extra keys are ignored.
|
|
332
|
+
|
|
333
|
+
The result has this shape:
|
|
334
|
+
|
|
335
|
+
```jsonc
|
|
336
|
+
{
|
|
337
|
+
"schemaVersion": 1,
|
|
338
|
+
"active": "ocean", // or null
|
|
339
|
+
"themes": [
|
|
340
|
+
{
|
|
341
|
+
"id": "ocean",
|
|
342
|
+
"label": "Ocean",
|
|
343
|
+
"icon": "...",
|
|
344
|
+
"blurb": "...",
|
|
345
|
+
"appearance": "dark", // "dark" or "light"
|
|
346
|
+
"palette": { "bg": "#rrggbb", "fg": "#rrggbb", "ansi": ["#rrggbb", "...16 entries"] },
|
|
347
|
+
"roles": { "background": "#rrggbb", "surface": "#rrggbb", "text": "#rrggbb",
|
|
348
|
+
"mutedText": "#rrggbb", "accent": "#rrggbb", "success": "#rrggbb",
|
|
349
|
+
"error": "#rrggbb", "warning": "#rrggbb", "running": "#rrggbb",
|
|
350
|
+
"diffAdd": "#rrggbb", "diffRemove": "#rrggbb" }
|
|
351
|
+
}
|
|
352
|
+
// ...more themes
|
|
353
|
+
]
|
|
354
|
+
}
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
Themes appear in this order: curated themes in menu order, then `default`. The `surprise`
|
|
358
|
+
theme is excluded. The `default` entry has `null` for `appearance`, `palette`,
|
|
359
|
+
and `roles`, because it restores the terminal's own colors.
|
|
360
|
+
|
|
361
|
+
`active` is the ID of the catalog theme stored in the `theme_active_theme`
|
|
362
|
+
config key. It is `null` when the key is unset, and also when the key holds
|
|
363
|
+
`legacy-custom` or `surprise`.
|
|
364
|
+
|
|
365
|
+
For the mapping from palette to roles, see
|
|
366
|
+
[`theme/README.md`](../theme/README.md). This page does not repeat it.
|
|
367
|
+
|
|
368
|
+
### `_meta` on session responses
|
|
369
|
+
|
|
370
|
+
`session/new`, `session/load`, and `session/resume` results include
|
|
371
|
+
`_meta["codePuppy/theme"] = {"active": <id or null>}`. Use it to paint the first
|
|
372
|
+
frame without waiting for the list request.
|
|
373
|
+
|
|
374
|
+
### `_code_puppy/themes/changed`
|
|
375
|
+
|
|
376
|
+
When the active theme changes, the agent sends this notification with params
|
|
377
|
+
`{"active": <id or null>}`. It sends one notification per change. The agent
|
|
378
|
+
reads the config value every 2 seconds from the moment the client connects.
|
|
379
|
+
The first reading is a baseline, so no notification is sent for it.
|
|
380
|
+
|
|
381
|
+
### Unknown methods and older CLIs
|
|
382
|
+
|
|
383
|
+
Any other `_code_puppy/*` method, such as `_code_puppy/themes/set`, returns
|
|
384
|
+
JSON-RPC error `-32601` (method not found). Older Code Puppy CLIs omit the
|
|
385
|
+
`_meta` key and return `-32601` for the list request. Clients should fall back
|
|
386
|
+
to a bundled copy of the catalog when either happens.
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
322
390
|
## Testing
|
|
323
391
|
|
|
324
392
|
`tests/test_acp_plugin.py` drives `CodePuppyAgent` directly against a fake SDK
|
|
@@ -49,6 +49,7 @@ from code_puppy_core_plugins.acp import (
|
|
|
49
49
|
replay,
|
|
50
50
|
session_config,
|
|
51
51
|
state,
|
|
52
|
+
themes,
|
|
52
53
|
)
|
|
53
54
|
from code_puppy_core_plugins.acp.bridge import EventBridge
|
|
54
55
|
from code_puppy_core_plugins.acp.session import ACPSession
|
|
@@ -77,6 +78,7 @@ class CodePuppyAgent(Agent):
|
|
|
77
78
|
self._sessions: Dict[str, ACPSession] = {}
|
|
78
79
|
self._bridge = EventBridge()
|
|
79
80
|
self._client_caps: Optional[ClientCapabilities] = None
|
|
81
|
+
self._theme_watcher = themes.ThemeWatcher()
|
|
80
82
|
|
|
81
83
|
# ---- Connection lifecycle ---------------------------------------------
|
|
82
84
|
def on_connect(self, conn: Any) -> None:
|
|
@@ -89,6 +91,11 @@ class CodePuppyAgent(Agent):
|
|
|
89
91
|
state.set_connection(conn, asyncio.get_running_loop())
|
|
90
92
|
self._bridge.register()
|
|
91
93
|
permissions.install()
|
|
94
|
+
try:
|
|
95
|
+
self._theme_watcher.start()
|
|
96
|
+
except Exception as error: # noqa: BLE001
|
|
97
|
+
# Startup must never fail on the theme watcher; log the class only.
|
|
98
|
+
logger.debug("ACP theme watcher not started: %s", type(error).__name__)
|
|
92
99
|
|
|
93
100
|
def shutdown(self) -> None:
|
|
94
101
|
"""Unwire this agent's event hooks. Call once the connection ends.
|
|
@@ -98,6 +105,7 @@ class CodePuppyAgent(Agent):
|
|
|
98
105
|
connection leaves the global callback registry clean.
|
|
99
106
|
"""
|
|
100
107
|
self._bridge.unregister()
|
|
108
|
+
self._theme_watcher.stop()
|
|
101
109
|
|
|
102
110
|
# ---- Handshake --------------------------------------------------------
|
|
103
111
|
async def initialize(
|
|
@@ -159,6 +167,7 @@ class CodePuppyAgent(Agent):
|
|
|
159
167
|
return NewSessionResponse(
|
|
160
168
|
session_id=session_id,
|
|
161
169
|
config_options=session_config.config_options() or None,
|
|
170
|
+
field_meta=themes.session_meta(),
|
|
162
171
|
)
|
|
163
172
|
|
|
164
173
|
async def load_session(
|
|
@@ -185,6 +194,7 @@ class CodePuppyAgent(Agent):
|
|
|
185
194
|
self._announce_commands_soon(session_id)
|
|
186
195
|
return LoadSessionResponse(
|
|
187
196
|
config_options=session_config.config_options() or None,
|
|
197
|
+
field_meta=themes.session_meta(),
|
|
188
198
|
)
|
|
189
199
|
|
|
190
200
|
async def resume_session(
|
|
@@ -205,6 +215,7 @@ class CodePuppyAgent(Agent):
|
|
|
205
215
|
self._announce_commands_soon(session_id)
|
|
206
216
|
return ResumeSessionResponse(
|
|
207
217
|
config_options=session_config.config_options() or None,
|
|
218
|
+
field_meta=themes.session_meta(),
|
|
208
219
|
)
|
|
209
220
|
|
|
210
221
|
async def fork_session(
|
|
@@ -373,6 +384,10 @@ class CodePuppyAgent(Agent):
|
|
|
373
384
|
reset_model_fallback_warnings(scope=session_id)
|
|
374
385
|
return CloseSessionResponse()
|
|
375
386
|
|
|
387
|
+
async def ext_method(self, method: str, params: dict[str, Any]) -> dict[str, Any]:
|
|
388
|
+
"""Route ext requests (currently only themes) to the theme catalog."""
|
|
389
|
+
return await themes.handle_ext_method(method, params)
|
|
390
|
+
|
|
376
391
|
# ---- Prompt turn ------------------------------------------------------
|
|
377
392
|
async def prompt(
|
|
378
393
|
self, prompt: List[Any], session_id: str, **kwargs: Any
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"""ACP theme catalog: the ``code_puppy/themes/list`` ext method, session meta, and change pushes.
|
|
2
|
+
|
|
3
|
+
Read-only by design: the client lists themes and reads the active one; there is no setter.
|
|
4
|
+
|
|
5
|
+
Depends on: catalog.py :: build_catalog(), read_active_theme_id(), SCHEMA_VERSION
|
|
6
|
+
Depends on: state.py :: get_connection()
|
|
7
|
+
Called by: agent.py :: CodePuppyAgent.ext_method(), new_session(), load_session(), resume_session(), on_connect(), shutdown()
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from __future__ import annotations
|
|
11
|
+
|
|
12
|
+
import asyncio
|
|
13
|
+
import logging
|
|
14
|
+
from typing import Any, Optional
|
|
15
|
+
|
|
16
|
+
from acp import RequestError
|
|
17
|
+
|
|
18
|
+
from code_puppy_core_plugins.acp import state
|
|
19
|
+
from code_puppy_core_plugins.theme.catalog import (
|
|
20
|
+
SCHEMA_VERSION,
|
|
21
|
+
build_catalog,
|
|
22
|
+
read_active_theme_id,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
logger = logging.getLogger(__name__)
|
|
26
|
+
|
|
27
|
+
EXT_LIST = "code_puppy/themes/list"
|
|
28
|
+
EXT_CHANGED = "code_puppy/themes/changed"
|
|
29
|
+
META_KEY = "codePuppy/theme"
|
|
30
|
+
POLL_SECONDS = 2.0
|
|
31
|
+
|
|
32
|
+
# Distinct from None: None is a valid "no active theme" observation.
|
|
33
|
+
_NO_BASELINE: Any = object()
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
async def handle_ext_method(method: str, params: Any) -> dict[str, Any]:
|
|
37
|
+
"""Serve the theme list; any other ext method is not found."""
|
|
38
|
+
if method != EXT_LIST:
|
|
39
|
+
# The wire name carries the SDK's leading underscore; the error reports it.
|
|
40
|
+
raise RequestError.method_not_found("_" + method)
|
|
41
|
+
return {
|
|
42
|
+
"schemaVersion": SCHEMA_VERSION,
|
|
43
|
+
"active": read_active_theme_id(),
|
|
44
|
+
"themes": build_catalog(),
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def session_meta() -> dict[str, Any]:
|
|
49
|
+
"""Return the active theme as ACP ``_meta`` for session responses."""
|
|
50
|
+
return {META_KEY: {"active": read_active_theme_id()}}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class ThemeWatcher:
|
|
54
|
+
"""Polls the active theme and pushes a notification when it changes.
|
|
55
|
+
|
|
56
|
+
The first observation is the baseline and sends nothing, so a client that
|
|
57
|
+
has not yet read the list is never told about a theme it did not ask about.
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
def __init__(self, poll_seconds: float = POLL_SECONDS) -> None:
|
|
61
|
+
self._poll_seconds = poll_seconds
|
|
62
|
+
self._task: Optional[asyncio.Task[None]] = None
|
|
63
|
+
self._last: Any = _NO_BASELINE
|
|
64
|
+
|
|
65
|
+
def start(self) -> None:
|
|
66
|
+
"""Start the poll loop on the running event loop; no-op if already running."""
|
|
67
|
+
if self._task is not None and not self._task.done():
|
|
68
|
+
return
|
|
69
|
+
self._task = asyncio.get_running_loop().create_task(self._run())
|
|
70
|
+
|
|
71
|
+
def stop(self) -> None:
|
|
72
|
+
"""Cancel the poll loop; safe when never started or already stopped."""
|
|
73
|
+
if self._task is not None:
|
|
74
|
+
self._task.cancel()
|
|
75
|
+
self._task = None
|
|
76
|
+
|
|
77
|
+
async def poll_once(self) -> None:
|
|
78
|
+
"""Read the active theme and notify the client if it changed since last poll."""
|
|
79
|
+
# Broad catches are deliberate: a theme failure must never kill the poll loop.
|
|
80
|
+
try:
|
|
81
|
+
value = await asyncio.to_thread(read_active_theme_id)
|
|
82
|
+
except Exception as error:
|
|
83
|
+
logger.debug("ACP theme poll failed: %s", type(error).__name__)
|
|
84
|
+
return
|
|
85
|
+
previous, self._last = self._last, value
|
|
86
|
+
if previous is _NO_BASELINE or previous == value:
|
|
87
|
+
return
|
|
88
|
+
connection = state.get_connection()
|
|
89
|
+
if connection is None:
|
|
90
|
+
return
|
|
91
|
+
try:
|
|
92
|
+
await connection.ext_notification(EXT_CHANGED, {"active": value})
|
|
93
|
+
except Exception as error:
|
|
94
|
+
logger.debug("ACP theme notify failed: %s", type(error).__name__)
|
|
95
|
+
|
|
96
|
+
async def _run(self) -> None:
|
|
97
|
+
while True:
|
|
98
|
+
await self.poll_once()
|
|
99
|
+
await asyncio.sleep(self._poll_seconds)
|
|
@@ -73,6 +73,7 @@ Green Screen ports the canonical phosphor colors from [vybestack/llxprt-code](ht
|
|
|
73
73
|
| `osc_palette.py` | OSC escape sequences for terminal-wide bg/fg/ANSI palette (Level 3) |
|
|
74
74
|
| `picker.py` | prompt_toolkit split-panel TUI with live preview |
|
|
75
75
|
| `register_callbacks.py` | `/theme` command handler, glue only |
|
|
76
|
+
| `catalog.py` | Pure, read-only catalog for ACP clients (wire dicts, semantic roles, active-theme read) |
|
|
76
77
|
| `__init__.py` | Re-applies persisted (L1 + L2 + L3) on plugin load |
|
|
77
78
|
|
|
78
79
|
## How each level works (the spicy bits)
|
|
@@ -84,3 +85,38 @@ Green Screen ports the canonical phosphor colors from [vybestack/llxprt-code](ht
|
|
|
84
85
|
**Level 3** — fires xterm OSC sequences (`\\033]10;#fg\\007`, `\\033]11;#bg\\007`, `\\033]4;N;#hex\\007`) which modern terminals honor terminal-wide. Auto-resets on exit via `atexit`. Persists across restarts via JSON in `puppy.cfg`. Supported in iTerm2, Terminal.app, Alacritty, kitty, ode, GNOME Terminal, Windows Terminal. Unsupported terminals silently ignore.
|
|
85
86
|
|
|
86
87
|
Plays nice with `/colors` — same color pool, same config keys for banners.
|
|
88
|
+
|
|
89
|
+
## Theme catalog
|
|
90
|
+
|
|
91
|
+
`catalog.py` is a pure, read-only catalog for ACP clients. It never applies a
|
|
92
|
+
palette, emits OSC sequences, or writes config. Its only config access is the
|
|
93
|
+
read in `read_active_theme_id()`.
|
|
94
|
+
|
|
95
|
+
| Function | Purpose |
|
|
96
|
+
|----------|---------|
|
|
97
|
+
| `build_catalog()` | Returns fresh wire dicts: curated themes in menu order, then `default`. `surprise` is excluded. |
|
|
98
|
+
| `semantic_roles(palette)` | Maps a `bg`/`fg`/`ansi` palette to the semantic roles below. |
|
|
99
|
+
| `appearance_for(bg_hex)` | Returns `dark` when the WCAG relative luminance of `bg` is below 0.179, else `light`. |
|
|
100
|
+
| `active_theme_id(raw)` | Returns `raw` if it is a catalog id, else `None`. |
|
|
101
|
+
| `read_active_theme_id()` | Reads `ACTIVE_THEME_CONFIG_KEY` and returns `active_theme_id(...)`. Never raises. |
|
|
102
|
+
|
|
103
|
+
### Role mapping
|
|
104
|
+
|
|
105
|
+
| Role | Source | AA adjustment |
|
|
106
|
+
|------|--------|---------------|
|
|
107
|
+
| `background` | `bg` | None (base color) |
|
|
108
|
+
| `surface` | `bg` blended 8% toward `fg` | None (exempt) |
|
|
109
|
+
| `text` | `fg` | Yes |
|
|
110
|
+
| `mutedText` | `ansi[8]` | Yes |
|
|
111
|
+
| `accent` | `ansi[4]` | Yes |
|
|
112
|
+
| `success` | `ansi[2]` | Yes |
|
|
113
|
+
| `error` | `ansi[1]` | Yes |
|
|
114
|
+
| `warning` | `ansi[3]` | Yes |
|
|
115
|
+
| `running` | `ansi[6]` | Yes |
|
|
116
|
+
| `diffAdd` | `ansi[2]` | Yes |
|
|
117
|
+
| `diffRemove` | `ansi[1]` | Yes |
|
|
118
|
+
|
|
119
|
+
AA adjustment: if a role has less than 4.5:1 contrast against `background`, it
|
|
120
|
+
is blended toward `#ffffff` on dark themes or `#000000` on light themes in 5%
|
|
121
|
+
steps. The first step that reaches 4.5:1 is used. The input palette is never
|
|
122
|
+
modified, and output values are lowercase `#rrggbb`.
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"""Pure, read-only theme catalog for ACP clients.
|
|
2
|
+
|
|
3
|
+
Depends on: themes.py :: MENU, CURATED_THEMES, DEFAULT
|
|
4
|
+
Never applies palettes, emits OSC sequences, or writes config.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
import re
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
from code_puppy.config import get_value
|
|
13
|
+
|
|
14
|
+
from .themes import CURATED_THEMES, DEFAULT, MENU
|
|
15
|
+
|
|
16
|
+
# Called by: register_callbacks.py :: _apply_theme(), _active_terminal_palette(),
|
|
17
|
+
# _apply_default_theme_on_first_run()
|
|
18
|
+
ACTIVE_THEME_CONFIG_KEY = "theme_active_theme"
|
|
19
|
+
SCHEMA_VERSION = 1
|
|
20
|
+
|
|
21
|
+
_AA_MIN_CONTRAST = 4.5
|
|
22
|
+
_SURFACE_BLEND = 0.08
|
|
23
|
+
_DARK_LUMINANCE_CUTOFF = 0.179
|
|
24
|
+
_ADJUST_STEPS = 20 # 5% blend increments toward white or black
|
|
25
|
+
_WHITE = (255, 255, 255)
|
|
26
|
+
_BLACK = (0, 0, 0)
|
|
27
|
+
_HEX_RE = re.compile(r"#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})")
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def appearance_for(bg_hex: str) -> str:
|
|
31
|
+
return "dark" if _is_dark(_rgb(bg_hex)) else "light"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def semantic_roles(palette: dict[str, Any]) -> dict[str, str]:
|
|
35
|
+
"""Map a bg/fg/ansi palette to semantic role colors.
|
|
36
|
+
|
|
37
|
+
Non-background roles are blended toward white (dark bg) or black (light bg)
|
|
38
|
+
in 5% steps until they reach WCAG AA (4.5:1) against the background. The
|
|
39
|
+
input palette is never mutated.
|
|
40
|
+
"""
|
|
41
|
+
bg = _rgb(palette["bg"])
|
|
42
|
+
fg = _rgb(palette["fg"])
|
|
43
|
+
ansi = [_rgb(color) for color in palette["ansi"]]
|
|
44
|
+
adjust_target = _WHITE if _is_dark(bg) else _BLACK
|
|
45
|
+
adjustable = {
|
|
46
|
+
"text": fg,
|
|
47
|
+
"mutedText": ansi[8],
|
|
48
|
+
"accent": ansi[4],
|
|
49
|
+
"success": ansi[2],
|
|
50
|
+
"error": ansi[1],
|
|
51
|
+
"warning": ansi[3],
|
|
52
|
+
"running": ansi[6],
|
|
53
|
+
"diffAdd": ansi[2],
|
|
54
|
+
"diffRemove": ansi[1],
|
|
55
|
+
}
|
|
56
|
+
roles = {
|
|
57
|
+
"background": _hex(bg),
|
|
58
|
+
"surface": _hex(_blend(bg, fg, _SURFACE_BLEND)),
|
|
59
|
+
}
|
|
60
|
+
for role, color in adjustable.items():
|
|
61
|
+
roles[role] = _hex(_meet_aa(color, bg, adjust_target))
|
|
62
|
+
return roles
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def build_catalog() -> list[dict[str, Any]]:
|
|
66
|
+
"""Return fresh wire dicts: curated themes in menu order, then default.
|
|
67
|
+
|
|
68
|
+
Every call builds new containers, so callers cannot mutate shared state.
|
|
69
|
+
"""
|
|
70
|
+
entries = [_curated_entry(theme_id) for theme_id in _curated_ids()]
|
|
71
|
+
entries.append(_default_entry())
|
|
72
|
+
return entries
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def active_theme_id(raw: object) -> str | None:
|
|
76
|
+
if isinstance(raw, str) and (raw == "default" or raw in _curated_ids()):
|
|
77
|
+
return raw
|
|
78
|
+
return None
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def read_active_theme_id() -> str | None:
|
|
82
|
+
try:
|
|
83
|
+
return active_theme_id(get_value(ACTIVE_THEME_CONFIG_KEY))
|
|
84
|
+
except Exception:
|
|
85
|
+
return None
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def _curated_ids() -> list[str]:
|
|
89
|
+
# Resolved per call so a theme added to MENU/CURATED_THEMES reaches ACP without edits here.
|
|
90
|
+
return [name for name, _ in MENU if name in CURATED_THEMES]
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def _curated_entry(theme_id: str) -> dict[str, Any]:
|
|
94
|
+
theme = CURATED_THEMES[theme_id]
|
|
95
|
+
palette = _normalised_palette(theme["terminal_palette"])
|
|
96
|
+
return {
|
|
97
|
+
"id": theme_id,
|
|
98
|
+
"label": theme["label"],
|
|
99
|
+
"icon": theme["icon"],
|
|
100
|
+
"blurb": theme["blurb"],
|
|
101
|
+
"appearance": appearance_for(palette["bg"]),
|
|
102
|
+
"palette": palette,
|
|
103
|
+
"roles": semantic_roles(palette),
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def _default_entry() -> dict[str, Any]:
|
|
108
|
+
return {
|
|
109
|
+
"id": "default",
|
|
110
|
+
"label": DEFAULT["label"],
|
|
111
|
+
"icon": DEFAULT["icon"],
|
|
112
|
+
"blurb": DEFAULT["blurb"],
|
|
113
|
+
"appearance": None,
|
|
114
|
+
"palette": None,
|
|
115
|
+
"roles": None,
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def _normalised_palette(palette: dict[str, Any]) -> dict[str, Any]:
|
|
120
|
+
return {
|
|
121
|
+
"bg": _canonical(palette["bg"]),
|
|
122
|
+
"fg": _canonical(palette["fg"]),
|
|
123
|
+
"ansi": [_canonical(color) for color in palette["ansi"]],
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def _meet_aa(
|
|
128
|
+
color: tuple[int, int, int], bg: tuple[int, int, int], target: tuple[int, int, int]
|
|
129
|
+
) -> tuple[int, int, int]:
|
|
130
|
+
if _contrast(color, bg) >= _AA_MIN_CONTRAST:
|
|
131
|
+
return color
|
|
132
|
+
for step in range(1, _ADJUST_STEPS + 1):
|
|
133
|
+
candidate = _blend(color, target, step / _ADJUST_STEPS)
|
|
134
|
+
if _contrast(candidate, bg) >= _AA_MIN_CONTRAST:
|
|
135
|
+
return candidate
|
|
136
|
+
# Only reachable if the target fails AA, which cannot happen: white clears
|
|
137
|
+
# 4.5:1 on any bg below the dark cutoff, and black on any bg at or above it.
|
|
138
|
+
return target
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def _is_dark(rgb: tuple[int, int, int]) -> bool:
|
|
142
|
+
return _luminance(rgb) < _DARK_LUMINANCE_CUTOFF
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def _rgb(color: str) -> tuple[int, int, int]:
|
|
146
|
+
match = _HEX_RE.fullmatch(color)
|
|
147
|
+
if match is None:
|
|
148
|
+
raise ValueError(f"not a hex color: {color!r}")
|
|
149
|
+
digits = match.group(1)
|
|
150
|
+
if len(digits) == 3:
|
|
151
|
+
digits = "".join(digit * 2 for digit in digits)
|
|
152
|
+
return (int(digits[0:2], 16), int(digits[2:4], 16), int(digits[4:6], 16))
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
def _hex(rgb: tuple[int, int, int]) -> str:
|
|
156
|
+
return "#" + "".join(f"{channel:02x}" for channel in rgb)
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
def _canonical(color: str) -> str:
|
|
160
|
+
return _hex(_rgb(color))
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
def _blend(
|
|
164
|
+
start: tuple[int, int, int], end: tuple[int, int, int], amount: float
|
|
165
|
+
) -> tuple[int, int, int]:
|
|
166
|
+
r, g, b = (round(s + (e - s) * amount) for s, e in zip(start, end))
|
|
167
|
+
return (r, g, b)
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def _linearise(value: float) -> float:
|
|
171
|
+
if value <= 0.03928:
|
|
172
|
+
return value / 12.92
|
|
173
|
+
return ((value + 0.055) / 1.055) ** 2.4
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
def _luminance(rgb: tuple[int, int, int]) -> float:
|
|
177
|
+
r, g, b = (_linearise(channel / 255) for channel in rgb)
|
|
178
|
+
return 0.2126 * r + 0.7152 * g + 0.0722 * b
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
def _contrast(first: tuple[int, int, int], second: tuple[int, int, int]) -> float:
|
|
182
|
+
lighter, darker = sorted((_luminance(first), _luminance(second)), reverse=True)
|
|
183
|
+
return (lighter + 0.05) / (darker + 0.05)
|
|
@@ -24,13 +24,14 @@ from typing import TYPE_CHECKING
|
|
|
24
24
|
|
|
25
25
|
from code_puppy.callbacks import register_callback
|
|
26
26
|
|
|
27
|
+
from .catalog import ACTIVE_THEME_CONFIG_KEY
|
|
28
|
+
|
|
27
29
|
# NOTE: Keep heavy theme/TUI imports inside callers so plugin discovery stays
|
|
28
30
|
# fast; the deferred style import saves startup time. Caveat: theme/__init__.py
|
|
29
31
|
# still eagerly imports style modules/reapplies config, so prompt_toolkit remains
|
|
30
32
|
# on the startup path until that sweep is deferred too.
|
|
31
33
|
|
|
32
34
|
_INTERACTIVE_TIMEOUT_SECONDS = 300 # 5 min — generous; user is browsing
|
|
33
|
-
_ACTIVE_THEME_CONFIG_KEY = "theme_active_theme"
|
|
34
35
|
_DEFAULT_THEME_NAME = "tokyo-night"
|
|
35
36
|
_LEGACY_THEME_NAME = "legacy-custom"
|
|
36
37
|
|
|
@@ -118,7 +119,7 @@ def _apply_theme(theme_name: str, *, announce: bool = True) -> None:
|
|
|
118
119
|
if terminal_palette:
|
|
119
120
|
osc.apply_palette(terminal_palette)
|
|
120
121
|
|
|
121
|
-
set_config_value(
|
|
122
|
+
set_config_value(ACTIVE_THEME_CONFIG_KEY, theme_name)
|
|
122
123
|
if announce:
|
|
123
124
|
_announce_applied(theme_name)
|
|
124
125
|
|
|
@@ -129,7 +130,7 @@ def _active_terminal_palette() -> tuple[str, dict] | None:
|
|
|
129
130
|
|
|
130
131
|
from . import osc_palette as osc
|
|
131
132
|
|
|
132
|
-
active_theme = get_value(
|
|
133
|
+
active_theme = get_value(ACTIVE_THEME_CONFIG_KEY)
|
|
133
134
|
if not active_theme or active_theme in {"default", _LEGACY_THEME_NAME}:
|
|
134
135
|
return None
|
|
135
136
|
palette = osc.get_saved_palette()
|
|
@@ -272,7 +273,7 @@ def _apply_default_theme_on_first_run() -> None:
|
|
|
272
273
|
"""Apply Tokyo Night once, preserving explicit and legacy theme choices."""
|
|
273
274
|
from code_puppy.config import get_value
|
|
274
275
|
|
|
275
|
-
if get_value(
|
|
276
|
+
if get_value(ACTIVE_THEME_CONFIG_KEY):
|
|
276
277
|
return
|
|
277
278
|
|
|
278
279
|
from code_puppy.config import set_config_value
|
|
@@ -282,7 +283,7 @@ def _apply_default_theme_on_first_run() -> None:
|
|
|
282
283
|
if osc.get_saved_palette():
|
|
283
284
|
# Theme persistence predates the active-theme marker. Treat an existing
|
|
284
285
|
# palette as an intentional choice and migrate without changing it.
|
|
285
|
-
set_config_value(
|
|
286
|
+
set_config_value(ACTIVE_THEME_CONFIG_KEY, _LEGACY_THEME_NAME)
|
|
286
287
|
return
|
|
287
288
|
|
|
288
289
|
_apply_theme(_DEFAULT_THEME_NAME, announce=False)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|