code-puppy-core-plugins 0.0.103__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.103 → code_puppy_core_plugins-0.0.105}/PKG-INFO +18 -1
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/README.md +15 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/README.md +130 -1
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/agent.py +23 -2
- code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/acp/auth_status.py +148 -0
- code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/acp/themes.py +99 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/attachment_references/tool.py +2 -0
- code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/__init__.py +1 -0
- code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/instrumentation.py +126 -0
- code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/legacy_core.py +39 -0
- code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/register_callbacks.py +67 -0
- code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/sdk.py +25 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/oauth.py +0 -1
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/register_callbacks.py +13 -19
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/register_callbacks.py +13 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/register_callbacks.py +6 -5
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/pyproject.toml +6 -1
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/.gitignore +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/LICENSE +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/THIRD_PARTY_NOTICES.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/bridge.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/capabilities.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/commands.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/content.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/io_delegation.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/mcp_config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/permissions.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/persistence.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/replay.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/session.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/session_config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/state.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_creator_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_creator_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/enabled_skills.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/metadata.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/prompt_builder.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/provider.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/skill_commands.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/skills_menu.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/attachment_references/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/attachment_references/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/auto_continue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/auto_continue/classifier.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/auto_continue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/utils.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/token.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/utils.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/background_agents/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/background_agents/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/background_agents/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/inline_view.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/side_query.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/IMAGEGEN_SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/image_generation.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/image_tool.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/model_catalog.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/usage.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/trust.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/SETUP.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/notifier.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/FOCUS_INVESTIGATION.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/NativeCapture.swift +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/PARITY.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/WINDOWS.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/activation.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/backend.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/backend_types.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/batch.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/capture.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/commands.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/geometry.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/inline_image.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/keycodes.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/macos_backend.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/permissions.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/policy.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/safety.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/settle.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/state.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/tools.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_activation.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_backend.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_capture.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_input.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_native.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_runtime.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/context_indicator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/context_indicator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/context_indicator/usage.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/reasoning_client.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/responses_stream.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/customizable_commands/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/customizable_commands/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/cancel.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/commands.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/lifecycle.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/runtime.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/wrapper.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/AGENTS.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/stripper.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/example_custom_command/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/execution_environment/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/execution_environment/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/execution_environment/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/file_permission_handler/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/installer.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/force_push_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/force_push_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/fork/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/fork/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/emitter.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/session_context.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/client.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/command_intent.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/launch_command.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/launcher.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/reporter.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/restore.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/smoke.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/sources.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_creator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_creator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/hooks_menu.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/trust_handler.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/chunks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/judge.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/retrieve.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/search.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/structure.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/tool.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/treesitter.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/query_tool.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/mirror.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/query.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/sync.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/plan.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/namespaces.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/no_tools/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/no_tools/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/oauth_pasteback.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/oauth_puppy_html.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/agent_obsidian.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama_setup/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama_setup/completer.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama_setup/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugin_contributions.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugin_meta.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugins_menu.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_settings.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pop_command/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pop_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/menu.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prompt_newline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prompt_newline/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prompt_newline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/prune_menu.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/prune_model.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/prune_render.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/adapter.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/agents.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/catalog.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/commands.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/prompt.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/skill_validator.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/upstream.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/UPSTREAM.json +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/LICENSE +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/plugin.json +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/commands.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/kennel.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/packer.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/recorder.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/retriever.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/schema.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/state.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/tools.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/wings.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/builtin_frames.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/commands.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/picker.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/spinners.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/qa_kitten_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/qa_kitten_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/quick_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/quick_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/review_pr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/review_pr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/session_namer/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/session_namer/namer.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/session_namer/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/agent_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/auth_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/cli.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/config_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/doctor.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/export_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/mcp_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/model_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/output.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/plugin_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/providers.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/sbx_plan.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/skill_cmds.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/wizard.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/LICENSE.deepseek +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/store.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/stack_dump/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/stack_dump/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/payload.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/prompt_patch.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/runner.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/statusline_command.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/steer_queue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/steer_queue/queue_menu.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/steer_queue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/README.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/coalesce_patch.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/panel_render.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/resume_repaint.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/state.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/switch_agent_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/termflow_tui.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/bundled_palettes.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/content_styles.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/osc_palette.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/picker.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/prompt_toolkit_theme.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/rich_themes.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/themes.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/timestamp_heartbeat/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/timestamp_heartbeat/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/models.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/provider.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/registry.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/sandbox.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/web_retriever_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/web_retriever_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/cancellation.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/goal_runs.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/judge.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/judge_config.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/judges_menu.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/state.py +0 -0
- {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/yolo_cli/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.103 → 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
|
|
@@ -41,6 +41,8 @@ Requires-Dist: pyobjc-framework-cocoa>=10.3; (sys_platform == 'darwin') and extr
|
|
|
41
41
|
Requires-Dist: pyobjc-framework-quartz>=10.3; (sys_platform == 'darwin') and extra == 'computer-use'
|
|
42
42
|
Requires-Dist: pywinauto<0.7,>=0.6.9; (sys_platform == 'win32') and extra == 'computer-use'
|
|
43
43
|
Requires-Dist: windows-capture<3,>=2.0.1; (sys_platform == 'win32') and extra == 'computer-use'
|
|
44
|
+
Provides-Extra: logfire
|
|
45
|
+
Requires-Dist: logfire>=4.0; extra == 'logfire'
|
|
44
46
|
Description-Content-Type: text/markdown
|
|
45
47
|
|
|
46
48
|
# Code Puppy Core Plugins
|
|
@@ -108,6 +110,21 @@ player can play it. Linux uses `notify-send` for desktop notifications when it
|
|
|
108
110
|
is installed; Windows uses a best-effort PowerShell toast. No external Python
|
|
109
111
|
dependencies are required.
|
|
110
112
|
|
|
113
|
+
## Logfire
|
|
114
|
+
|
|
115
|
+
The `logfire_instrumentation`, `logfire_oauth` and `logfire_sessions` plugins
|
|
116
|
+
do not import the SDK until you opt in. The SDK is an optional extra:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
uv tool install code-puppy --with 'code-puppy-core-plugins[logfire]'
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Opt in to pydantic-ai instrumentation with `/set enable_logfire=true` (or a
|
|
123
|
+
truthy `CODE_PUPPY_ENABLE_LOGFIRE` for headless runs), then restart. Spans are
|
|
124
|
+
sent only when a write token is available, either your own `LOGFIRE_TOKEN` or
|
|
125
|
+
one minted by `/logfire onboard`. Opting in without the extra installed shows
|
|
126
|
+
an install hint instead.
|
|
127
|
+
|
|
111
128
|
## pstack
|
|
112
129
|
|
|
113
130
|
The `pstack` plugin bundles poteto's [pstack](https://github.com/cursor/plugins/tree/main/pstack)
|
|
@@ -63,6 +63,21 @@ player can play it. Linux uses `notify-send` for desktop notifications when it
|
|
|
63
63
|
is installed; Windows uses a best-effort PowerShell toast. No external Python
|
|
64
64
|
dependencies are required.
|
|
65
65
|
|
|
66
|
+
## Logfire
|
|
67
|
+
|
|
68
|
+
The `logfire_instrumentation`, `logfire_oauth` and `logfire_sessions` plugins
|
|
69
|
+
do not import the SDK until you opt in. The SDK is an optional extra:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
uv tool install code-puppy --with 'code-puppy-core-plugins[logfire]'
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Opt in to pydantic-ai instrumentation with `/set enable_logfire=true` (or a
|
|
76
|
+
truthy `CODE_PUPPY_ENABLE_LOGFIRE` for headless runs), then restart. Spans are
|
|
77
|
+
sent only when a write token is available, either your own `LOGFIRE_TOKEN` or
|
|
78
|
+
one minted by `/logfire onboard`. Opting in without the extra installed shows
|
|
79
|
+
an install hint instead.
|
|
80
|
+
|
|
66
81
|
## pstack
|
|
67
82
|
|
|
68
83
|
The `pstack` plugin bundles poteto's [pstack](https://github.com/cursor/plugins/tree/main/pstack)
|
|
@@ -119,6 +119,7 @@ Every file stays well under the 600-line cap and owns one concern.
|
|
|
119
119
|
| `register_callbacks.py` | Register the `--acp` flag; when present, redirect the console to stderr, run `acp.run_agent(CodePuppyAgent())` on its own loop in a thread, and return `{"handled": True}` so the TUI never starts. |
|
|
120
120
|
| `agent.py` | `CodePuppyAgent(acp.Agent)` — the SDK agent implementation: initialize, new/load/resume/fork/list/close session, prompt, cancel, set_session_mode/model, set_config_option, authenticate, plus `on_connect` (stashes the client handle + installs approvals). |
|
|
121
121
|
| `capabilities.py` | Declarative capability negotiation in SDK models: our `AgentCapabilities`, and parsing the client's `ClientCapabilities` into `(fs_read, fs_write, terminal)`. |
|
|
122
|
+
| `auth_status.py` | Neutral provider registry that lets any plugin report sign-in state; read-only snapshots feed `authMethods` and `authenticate`. |
|
|
122
123
|
| `content.py` | Parse ACP prompt content blocks → text + multimodal attachments (`BinaryContent` / `ImageUrl`), honouring `embeddedContext` + `image`. |
|
|
123
124
|
| `session.py` | `ACPSession`: one ACP session ⇄ one `BaseAgent` + its `_message_history`. Runs each turn as a cancellable `asyncio.Task`; persists history after each turn; owns the final-result fallback. |
|
|
124
125
|
| `commands.py` | Execute client-typed `/slash` commands via `command_handler`, capturing MessageBus output and forwarding it (never touches stdin). |
|
|
@@ -129,6 +130,7 @@ Every file stays well under the 600-line cap and owns one concern.
|
|
|
129
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*.) |
|
|
130
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. |
|
|
131
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`). |
|
|
132
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. |
|
|
133
135
|
|
|
134
136
|
```
|
|
@@ -186,7 +188,7 @@ double-send.
|
|
|
186
188
|
| Method | Behaviour |
|
|
187
189
|
|--------|-----------|
|
|
188
190
|
| `initialize` | Negotiate version + capabilities; install capability-gated I/O delegation. |
|
|
189
|
-
| `authenticate` / `logout` |
|
|
191
|
+
| `authenticate` / `logout` | `authenticate` reports (read-only) the registered auth status for a known method id as `_meta.codePuppy.authStatus`, and succeeds even when that status is `missing` or `expired`; clients must read `status`, not infer from success. An unknown method id gets an empty response. `logout` is a no-op. |
|
|
190
192
|
| `session/new` | Create an `ACPSession` (fresh `BaseAgent`) from `cwd` + `additionalDirectories`; attach client `mcpServers`; return models + config options; schedule `available_commands_update`. |
|
|
191
193
|
| `session/load` | Re-open a thread: **replay persisted history into the agent AND stream it back to the client** as `session/update`s so the client rebuilds the thread UI. |
|
|
192
194
|
| `session/resume` | Rehydrate + replay a session across a restart from persisted history. |
|
|
@@ -204,6 +206,66 @@ call in 0.10.1), `plan` updates (no native plan model), and the unstable
|
|
|
204
206
|
unimplemented method to a clean "method not found", so we advertise honestly
|
|
205
207
|
and stub nothing.
|
|
206
208
|
|
|
209
|
+
### Reporting sign-in state
|
|
210
|
+
|
|
211
|
+
`auth_status.py` is a neutral registry: any plugin can register a provider that
|
|
212
|
+
reports its sign-in state, and ACP clients see it in `initialize` (`authMethods`)
|
|
213
|
+
and `authenticate`. Providers must be fast and synchronous; a provider that raises
|
|
214
|
+
or returns a report with wrong-typed fields is skipped. If two providers report the
|
|
215
|
+
same `method_id`, the first registered wins, so the outcome depends on plugin load order.
|
|
216
|
+
|
|
217
|
+
```python
|
|
218
|
+
from datetime import datetime, timezone
|
|
219
|
+
|
|
220
|
+
from code_puppy_core_plugins.acp.auth_status import (
|
|
221
|
+
AuthStatusReport,
|
|
222
|
+
register_auth_status_provider,
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
def example_auth_status() -> AuthStatusReport | None:
|
|
227
|
+
session = _load_session()
|
|
228
|
+
if session is None:
|
|
229
|
+
return AuthStatusReport("example-login", "Example Login", "missing")
|
|
230
|
+
return AuthStatusReport(
|
|
231
|
+
"example-login",
|
|
232
|
+
"Example Login",
|
|
233
|
+
"signed_in",
|
|
234
|
+
expires_at=datetime(2030, 1, 2, 3, 4, 5, tzinfo=timezone.utc),
|
|
235
|
+
user_id=session.user_name,
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
register_auth_status_provider(example_auth_status)
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
`expires_at` is serialized as ISO-8601 UTC (`...Z`); a naive value is treated as UTC,
|
|
243
|
+
and an aware value is converted to UTC. `user_id` is a display string (trimmed, max 128 chars).
|
|
244
|
+
|
|
245
|
+
Wire shape in the `initialize` result (`authMethods` is omitted when no provider is registered):
|
|
246
|
+
|
|
247
|
+
```json
|
|
248
|
+
{
|
|
249
|
+
"authMethods": [
|
|
250
|
+
{
|
|
251
|
+
"id": "example-login",
|
|
252
|
+
"name": "Example Login",
|
|
253
|
+
"_meta": {
|
|
254
|
+
"codePuppy": {
|
|
255
|
+
"authStatus": { "status": "signed_in", "expiresAt": "2030-01-02T03:04:05Z", "userId": "jdoe" }
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Readers must never trigger login, network or prompts. `id`, `name` and `description`
|
|
264
|
+
are provider-supplied display strings and must never contain secrets; only the contents of
|
|
265
|
+
`_meta.codePuppy.authStatus` are allow-listed to `status`, `expiresAt` and `userId`.
|
|
266
|
+
A `status` of `not_applicable` means the method does not apply to this
|
|
267
|
+
install, so clients should hide any sign-in UI for it.
|
|
268
|
+
|
|
207
269
|
### Outbound notifications (us → the client) — `session/update`
|
|
208
270
|
|
|
209
271
|
`agent_message_chunk`, `agent_thought_chunk`, `tool_call`, `tool_call_update`,
|
|
@@ -258,6 +320,73 @@ change.
|
|
|
258
320
|
|
|
259
321
|
---
|
|
260
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
|
+
|
|
261
390
|
## Testing
|
|
262
391
|
|
|
263
392
|
`tests/test_acp_plugin.py` drives `CodePuppyAgent` directly against a fake SDK
|
|
@@ -40,6 +40,7 @@ from acp.schema import (
|
|
|
40
40
|
)
|
|
41
41
|
|
|
42
42
|
from code_puppy_core_plugins.acp import (
|
|
43
|
+
auth_status,
|
|
43
44
|
capabilities,
|
|
44
45
|
io_delegation,
|
|
45
46
|
mcp_config,
|
|
@@ -48,6 +49,7 @@ from code_puppy_core_plugins.acp import (
|
|
|
48
49
|
replay,
|
|
49
50
|
session_config,
|
|
50
51
|
state,
|
|
52
|
+
themes,
|
|
51
53
|
)
|
|
52
54
|
from code_puppy_core_plugins.acp.bridge import EventBridge
|
|
53
55
|
from code_puppy_core_plugins.acp.session import ACPSession
|
|
@@ -76,6 +78,7 @@ class CodePuppyAgent(Agent):
|
|
|
76
78
|
self._sessions: Dict[str, ACPSession] = {}
|
|
77
79
|
self._bridge = EventBridge()
|
|
78
80
|
self._client_caps: Optional[ClientCapabilities] = None
|
|
81
|
+
self._theme_watcher = themes.ThemeWatcher()
|
|
79
82
|
|
|
80
83
|
# ---- Connection lifecycle ---------------------------------------------
|
|
81
84
|
def on_connect(self, conn: Any) -> None:
|
|
@@ -88,6 +91,11 @@ class CodePuppyAgent(Agent):
|
|
|
88
91
|
state.set_connection(conn, asyncio.get_running_loop())
|
|
89
92
|
self._bridge.register()
|
|
90
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__)
|
|
91
99
|
|
|
92
100
|
def shutdown(self) -> None:
|
|
93
101
|
"""Unwire this agent's event hooks. Call once the connection ends.
|
|
@@ -97,6 +105,7 @@ class CodePuppyAgent(Agent):
|
|
|
97
105
|
connection leaves the global callback registry clean.
|
|
98
106
|
"""
|
|
99
107
|
self._bridge.unregister()
|
|
108
|
+
self._theme_watcher.stop()
|
|
100
109
|
|
|
101
110
|
# ---- Handshake --------------------------------------------------------
|
|
102
111
|
async def initialize(
|
|
@@ -126,11 +135,16 @@ class CodePuppyAgent(Agent):
|
|
|
126
135
|
title="Code Puppy",
|
|
127
136
|
version=_code_puppy_version(),
|
|
128
137
|
),
|
|
138
|
+
auth_methods=auth_status.auth_methods(),
|
|
129
139
|
)
|
|
130
140
|
|
|
131
141
|
async def authenticate(self, method_id: str, **kwargs: Any) -> AuthenticateResponse:
|
|
132
|
-
"""
|
|
133
|
-
|
|
142
|
+
"""Report the registered auth status for ``method_id``.
|
|
143
|
+
Never logs in, calls the network, or prompts."""
|
|
144
|
+
report = auth_status.auth_status_for(method_id)
|
|
145
|
+
if report is None:
|
|
146
|
+
return AuthenticateResponse()
|
|
147
|
+
return AuthenticateResponse(field_meta=auth_status.auth_status_meta(report))
|
|
134
148
|
|
|
135
149
|
# ---- Session lifecycle ------------------------------------------------
|
|
136
150
|
async def new_session(
|
|
@@ -153,6 +167,7 @@ class CodePuppyAgent(Agent):
|
|
|
153
167
|
return NewSessionResponse(
|
|
154
168
|
session_id=session_id,
|
|
155
169
|
config_options=session_config.config_options() or None,
|
|
170
|
+
field_meta=themes.session_meta(),
|
|
156
171
|
)
|
|
157
172
|
|
|
158
173
|
async def load_session(
|
|
@@ -179,6 +194,7 @@ class CodePuppyAgent(Agent):
|
|
|
179
194
|
self._announce_commands_soon(session_id)
|
|
180
195
|
return LoadSessionResponse(
|
|
181
196
|
config_options=session_config.config_options() or None,
|
|
197
|
+
field_meta=themes.session_meta(),
|
|
182
198
|
)
|
|
183
199
|
|
|
184
200
|
async def resume_session(
|
|
@@ -199,6 +215,7 @@ class CodePuppyAgent(Agent):
|
|
|
199
215
|
self._announce_commands_soon(session_id)
|
|
200
216
|
return ResumeSessionResponse(
|
|
201
217
|
config_options=session_config.config_options() or None,
|
|
218
|
+
field_meta=themes.session_meta(),
|
|
202
219
|
)
|
|
203
220
|
|
|
204
221
|
async def fork_session(
|
|
@@ -367,6 +384,10 @@ class CodePuppyAgent(Agent):
|
|
|
367
384
|
reset_model_fallback_warnings(scope=session_id)
|
|
368
385
|
return CloseSessionResponse()
|
|
369
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
|
+
|
|
370
391
|
# ---- Prompt turn ------------------------------------------------------
|
|
371
392
|
async def prompt(
|
|
372
393
|
self, prompt: List[Any], session_id: str, **kwargs: Any
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"""Neutral registry of sign-in state that plugins report to ACP clients.
|
|
2
|
+
|
|
3
|
+
Any plugin registers a provider; ACP reads it without knowing who owns it.
|
|
4
|
+
Called by: agent.py :: CodePuppyAgent.initialize() / authenticate().
|
|
5
|
+
Readers must never trigger login, network I/O, or prompts; providers stay read-only.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import logging
|
|
11
|
+
import threading
|
|
12
|
+
import typing
|
|
13
|
+
from dataclasses import dataclass
|
|
14
|
+
from datetime import datetime, timezone
|
|
15
|
+
from typing import Any, Callable, Literal
|
|
16
|
+
|
|
17
|
+
from acp.schema import AuthMethodAgent
|
|
18
|
+
|
|
19
|
+
logger = logging.getLogger(__name__)
|
|
20
|
+
|
|
21
|
+
AuthState = Literal["signed_in", "expired", "missing", "not_applicable"]
|
|
22
|
+
|
|
23
|
+
_USER_ID_MAX_LEN = 128
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@dataclass(frozen=True)
|
|
27
|
+
class AuthStatusReport:
|
|
28
|
+
method_id: str
|
|
29
|
+
name: str
|
|
30
|
+
status: AuthState
|
|
31
|
+
description: str | None = None
|
|
32
|
+
expires_at: datetime | None = None
|
|
33
|
+
user_id: str | None = None
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
AuthStatusProvider = Callable[[], "AuthStatusReport | None"]
|
|
37
|
+
|
|
38
|
+
_providers: list[AuthStatusProvider] = []
|
|
39
|
+
_providers_lock = threading.Lock()
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def register_auth_status_provider(provider: AuthStatusProvider) -> None:
|
|
43
|
+
with _providers_lock:
|
|
44
|
+
if provider not in _providers:
|
|
45
|
+
_providers.append(provider)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def unregister_auth_status_provider(provider: AuthStatusProvider) -> None:
|
|
49
|
+
with _providers_lock:
|
|
50
|
+
if provider in _providers:
|
|
51
|
+
_providers.remove(provider)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def _is_valid_report(report: object) -> bool:
|
|
55
|
+
if not isinstance(report, AuthStatusReport):
|
|
56
|
+
return False
|
|
57
|
+
if report.status not in typing.get_args(AuthState):
|
|
58
|
+
return False
|
|
59
|
+
for text in (report.method_id, report.name):
|
|
60
|
+
if not isinstance(text, str) or not text.strip():
|
|
61
|
+
return False
|
|
62
|
+
if report.description is not None and not isinstance(report.description, str):
|
|
63
|
+
return False
|
|
64
|
+
if report.expires_at is not None and not isinstance(report.expires_at, datetime):
|
|
65
|
+
return False
|
|
66
|
+
if report.user_id is not None and not isinstance(report.user_id, str):
|
|
67
|
+
return False
|
|
68
|
+
return True
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def current_auth_reports() -> list[AuthStatusReport]:
|
|
72
|
+
with _providers_lock:
|
|
73
|
+
providers = list(_providers)
|
|
74
|
+
|
|
75
|
+
reports: list[AuthStatusReport] = []
|
|
76
|
+
seen_ids: set[str] = set()
|
|
77
|
+
for provider in providers:
|
|
78
|
+
try:
|
|
79
|
+
report = provider()
|
|
80
|
+
except Exception as exc:
|
|
81
|
+
# Exception type only: messages may carry tokens or other secrets.
|
|
82
|
+
logger.debug("auth status provider failed: %s", type(exc).__name__)
|
|
83
|
+
continue
|
|
84
|
+
if not _is_valid_report(report) or report.method_id in seen_ids:
|
|
85
|
+
continue
|
|
86
|
+
seen_ids.add(report.method_id)
|
|
87
|
+
reports.append(report)
|
|
88
|
+
return reports
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def auth_status_for(method_id: str) -> AuthStatusReport | None:
|
|
92
|
+
for report in current_auth_reports():
|
|
93
|
+
if report.method_id == method_id and _meta_or_none(report) is not None:
|
|
94
|
+
return report
|
|
95
|
+
return None
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def _format_expires_at(expires_at: datetime) -> str:
|
|
99
|
+
if expires_at.tzinfo is None:
|
|
100
|
+
utc_value = expires_at.replace(tzinfo=timezone.utc)
|
|
101
|
+
else:
|
|
102
|
+
utc_value = expires_at.astimezone(timezone.utc)
|
|
103
|
+
return utc_value.replace(microsecond=0).isoformat().replace("+00:00", "Z")
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def auth_status_meta(report: AuthStatusReport) -> dict[str, Any]:
|
|
107
|
+
# Allow-list only: copying other fields could leak data a subclass carries.
|
|
108
|
+
inner: dict[str, Any] = {"status": report.status}
|
|
109
|
+
if report.expires_at is not None:
|
|
110
|
+
inner["expiresAt"] = _format_expires_at(report.expires_at)
|
|
111
|
+
if isinstance(report.user_id, str):
|
|
112
|
+
user_id = report.user_id.strip()[:_USER_ID_MAX_LEN]
|
|
113
|
+
if user_id:
|
|
114
|
+
inner["userId"] = user_id
|
|
115
|
+
return {"codePuppy": {"authStatus": inner}}
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def _meta_or_none(report: AuthStatusReport) -> dict[str, Any] | None:
|
|
119
|
+
try:
|
|
120
|
+
return auth_status_meta(report)
|
|
121
|
+
except Exception as exc:
|
|
122
|
+
# Exception type only: messages may carry tokens or other secrets.
|
|
123
|
+
logger.debug(
|
|
124
|
+
"auth status report could not be serialized: %s", type(exc).__name__
|
|
125
|
+
)
|
|
126
|
+
return None
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def auth_methods() -> list[AuthMethodAgent] | None:
|
|
130
|
+
methods: list[AuthMethodAgent] = []
|
|
131
|
+
for report in current_auth_reports():
|
|
132
|
+
meta = _meta_or_none(report)
|
|
133
|
+
if meta is None:
|
|
134
|
+
continue
|
|
135
|
+
try:
|
|
136
|
+
methods.append(
|
|
137
|
+
AuthMethodAgent(
|
|
138
|
+
id=report.method_id,
|
|
139
|
+
name=report.name,
|
|
140
|
+
description=report.description,
|
|
141
|
+
field_meta=meta,
|
|
142
|
+
)
|
|
143
|
+
)
|
|
144
|
+
except Exception as exc:
|
|
145
|
+
logger.debug(
|
|
146
|
+
"auth status report could not be serialized: %s", type(exc).__name__
|
|
147
|
+
)
|
|
148
|
+
return methods or None
|
|
@@ -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)
|
|
@@ -21,6 +21,7 @@ from pydantic_ai import BinaryContent, RunContext
|
|
|
21
21
|
from pydantic_ai.messages import UserPromptPart
|
|
22
22
|
|
|
23
23
|
from code_puppy import config
|
|
24
|
+
from code_puppy.error_logging import log_error
|
|
24
25
|
|
|
25
26
|
TOOL_NAME = "save_attachments_as_references"
|
|
26
27
|
|
|
@@ -117,6 +118,7 @@ def register_save_attachments_as_references(agent: Any) -> None:
|
|
|
117
118
|
try:
|
|
118
119
|
paths = await asyncio.to_thread(_save_reference_images, images)
|
|
119
120
|
except OSError as exc:
|
|
121
|
+
log_error(exc, context="save_attachments_as_references failed")
|
|
120
122
|
return {
|
|
121
123
|
"success": False,
|
|
122
124
|
"error": f"Could not save reference images: {exc}",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Opt-in Logfire instrumentation of Code Puppy agent runs."""
|