code-puppy-core-plugins 0.0.85__tar.gz → 0.0.86__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.85 → code_puppy_core_plugins-0.0.86}/PKG-INFO +1 -1
- code_puppy_core_plugins-0.0.86/code_puppy_core_plugins/meta_oauth/locales/en-US.json +12 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/meta_oauth/oauth_flow.py +3 -0
- code_puppy_core_plugins-0.0.86/code_puppy_core_plugins/meta_oauth/plan.py +87 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/meta_oauth/register_callbacks.py +7 -1
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/meta_oauth/utils.py +22 -3
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/pyproject.toml +1 -1
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/.gitignore +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/LICENSE +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/THIRD_PARTY_NOTICES.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/agent.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/bridge.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/capabilities.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/commands.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/content.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/io_delegation.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/mcp_config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/permissions.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/persistence.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/replay.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/session.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/session_config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/acp/state.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_creator_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_creator_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_creator_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/enabled_skills.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/metadata.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/prompt_builder.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/provider.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/skill_commands.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/agent_skills/skills_menu.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/attachment_references/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/attachment_references/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/attachment_references/tool.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/auto_continue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/auto_continue/classifier.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/auto_continue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/aws_bedrock/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/aws_bedrock/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/aws_bedrock/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/aws_bedrock/utils.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/azure_foundry/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/azure_foundry/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/azure_foundry/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/azure_foundry/discovery.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/azure_foundry/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/azure_foundry/token.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/azure_foundry/utils.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/background_agents/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/background_agents/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/background_agents/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/btw/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/btw/inline_view.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/btw/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/btw/side_query.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/IMAGEGEN_SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/image_generation.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/image_tool.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/model_catalog.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/usage.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/chatgpt_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_hooks/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_hooks/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_hooks/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_hooks/trust.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/SETUP.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/fast_mode.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/model_filter.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/model_provider.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/prompt_handler.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/runtime_credentials.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/token_store.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/claude_code_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/code_puppy_agent/AGENTS_AND_TOOLS.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/code_puppy_agent/MODELS_AND_MCP.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/code_puppy_agent/PLUGINS_AND_CALLBACKS.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/code_puppy_agent/SESSIONS_AND_HISTORY.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/code_puppy_agent/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/code_puppy_agent/SKILLS_SYSTEM.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/code_puppy_agent/SYSTEM_PROMPT_CONFIG_AND_I18N.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/code_puppy_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/code_puppy_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/completion_notification/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/completion_notification/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/completion_notification/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/completion_notification/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/completion_notification/locales/fr-CA.json +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/completion_notification/notifier.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/completion_notification/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/FOCUS_INVESTIGATION.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/NativeCapture.swift +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/PARITY.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/WINDOWS.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/activation.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/backend.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/backend_types.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/batch.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/capture.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/commands.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/geometry.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/inline_image.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/keycodes.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/locales/es.json +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/locales/fr-CA.json +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/macos_backend.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/permissions.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/policy.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/safety.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/settle.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/state.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/tools.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/windows_accessibility.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/windows_activation.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/windows_backend.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/windows_capture.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/windows_input.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/windows_native.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/computer_use/windows_runtime.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/context_indicator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/context_indicator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/context_indicator/usage.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/copilot_auth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/copilot_auth/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/copilot_auth/reasoning_client.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/copilot_auth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/copilot_auth/responses_stream.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/copilot_auth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/customizable_commands/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/customizable_commands/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/cancel.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/commands.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/lifecycle.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/runtime.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/startup_lock.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/workflow_ids.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/dbos_durable_exec/wrapper.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/destructive_command_guard/AGENTS.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/destructive_command_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/destructive_command_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/destructive_command_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/emoji_filter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/emoji_filter/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/emoji_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/emoji_filter/stripper.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/empty_html_comment_filter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/example_custom_command/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/example_custom_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/file_permission_handler/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/file_permission_handler/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/pipeline.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/synopsis.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/about.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/address-feedback.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/ask.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/aug.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/auto-pilot.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/cheatsheet.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/commit.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/config.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/create-pr.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/exec.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/new.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/qa.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/rebase.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/review.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/split.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/squash-commits.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/status.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/tests.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_about.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_cheatsheet.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_status.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/installer.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/flux_bootstrap/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/force_push_guard/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/force_push_guard/detector.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/force_push_guard/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/fork/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/fork/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/frontend_emitter/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/frontend_emitter/emitter.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/frontend_emitter/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/frontend_emitter/session_context.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/grok_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/grok_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/grok_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/grok_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/grok_oauth/utils.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/client.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/command_intent.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/launch_command.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/launcher.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/reporter.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/restore.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/smoke.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/herdr/sources.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/hook_creator/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/hook_creator/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/hook_manager/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/hook_manager/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/hook_manager/hooks_menu.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/hook_manager/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/hook_manager/trust_handler.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/chunks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/judge.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/retrieve.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/search.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/structure.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/tool.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/jev_grep/treesitter.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/logfire_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/logfire_oauth/oauth.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/logfire_oauth/query_tool.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/logfire_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/logfire_sessions/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/logfire_sessions/mirror.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/logfire_sessions/query.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/logfire_sessions/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/logfire_sessions/sync.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/mcp_binding_prompt/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/mcp_binding_prompt/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/mcp_binding_prompt/custom_install.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/mcp_binding_prompt/http_form.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/mcp_binding_prompt/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/meta_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/meta_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/namespace_skill_search/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/namespace_skill_search/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/namespace_skill_search/namespaces.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/namespace_skill_search/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/namespace_skill_search/search_tool.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/no_tools/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/no_tools/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/oauth_pasteback.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/oauth_puppy_html.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/obsidian_agent/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/obsidian_agent/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/obsidian_agent/agent_obsidian.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/obsidian_agent/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/ollama/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/ollama/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/ollama_setup/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/ollama_setup/completer.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/ollama_setup/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/openrouter_oauth/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/openrouter_oauth/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/openrouter_oauth/oauth_flow.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/openrouter_oauth/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/openrouter_oauth/test_plugin.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/plugin_list/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/plugin_list/plugin_contributions.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/plugin_list/plugin_meta.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/plugin_list/plugin_text_utils.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/plugin_list/plugins_menu.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/plugin_list/plugins_menu_render.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/plugin_list/project_trust_flow.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/plugin_list/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/plugin_settings.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/pop_command/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/pop_command/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/profiles/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/profiles/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/profiles/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/profiles/locales/en-US.json +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/profiles/menu.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/profiles/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/prompt_newline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/prompt_newline/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/prompt_newline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/prune/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/prune/prune_menu.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/prune/prune_model.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/prune/prune_render.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/prune/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/commands.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/kennel.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/packer.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/recorder.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/retriever.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/schema.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/state.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/tools.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_kennel/wings.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_spinner/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_spinner/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_spinner/builtin_frames.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_spinner/commands.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_spinner/picker.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_spinner/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/puppy_spinner/spinners.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/qa_kitten_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/qa_kitten_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/qa_kitten_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/quick_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/quick_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/review_pr/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/review_pr/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/session_namer/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/session_namer/namer.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/session_namer/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/spill/LICENSE.deepseek +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/spill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/spill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/spill/store.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/stack_dump/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/stack_dump/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/statusline/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/statusline/config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/statusline/payload.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/statusline/prompt_patch.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/statusline/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/statusline/runner.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/statusline/statusline_command.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/steer_queue/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/steer_queue/queue_menu.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/steer_queue/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/subagent_panel/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/subagent_panel/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/subagent_panel/coalesce_patch.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/subagent_panel/panel_render.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/subagent_panel/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/subagent_panel/resume_repaint.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/subagent_panel/state.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/switch_agent_resume/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/switch_agent_resume/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/termflow_tui.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/README.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/bundled_palettes.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/content_styles.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/osc_palette.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/picker.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/prompt_toolkit_theme.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/rich_themes.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/theme/themes.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/timestamp_heartbeat/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/timestamp_heartbeat/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/universal_constructor/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/universal_constructor/models.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/universal_constructor/provider.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/universal_constructor/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/universal_constructor/registry.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/universal_constructor/sandbox.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/web_retriever_skill/SKILL.md +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/web_retriever_skill/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/web_retriever_skill/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/wiggum/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/wiggum/goal_runs.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/wiggum/judge.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/wiggum/judge_config.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/wiggum/judges_menu.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/wiggum/register_callbacks.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/wiggum/state.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/code_puppy_core_plugins/yolo_cli/__init__.py +0 -0
- {code_puppy_core_plugins-0.0.85 → code_puppy_core_plugins-0.0.86}/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.86
|
|
4
4
|
Summary: Official plugin bundle for Code Puppy
|
|
5
5
|
Project-URL: Repository, https://github.com/mpfaffenberger/code_puppy_core_plugins
|
|
6
6
|
Project-URL: Homepage, https://github.com/mpfaffenberger/code_puppy_core_plugins
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"plugin.meta-oauth.plan.tier": "Muse Code plan: {tier}",
|
|
3
|
+
"plugin.meta-oauth.plan.active": "Subscription: active",
|
|
4
|
+
"plugin.meta-oauth.plan.inactive": "Subscription: inactive",
|
|
5
|
+
"plugin.meta-oauth.plan.usage": "{window} usage at login: {used}%",
|
|
6
|
+
"plugin.meta-oauth.plan.usage_reset": "{window} usage at login: {used}% (resets {reset})",
|
|
7
|
+
"plugin.meta-oauth.plan.window": "Rolling window",
|
|
8
|
+
"plugin.meta-oauth.plan.window_hours": "{hours}h window",
|
|
9
|
+
"plugin.meta-oauth.plan.window_minutes": "{minutes}m window",
|
|
10
|
+
"plugin.meta-oauth.plan.weekly": "Weekly",
|
|
11
|
+
"plugin.meta-oauth.plan.upgrade": "A plan upgrade is available at https://accountscenter.meta.com/muse_code/"
|
|
12
|
+
}
|
|
@@ -11,6 +11,7 @@ from code_puppy.messaging import emit_error, emit_info, emit_success, emit_warni
|
|
|
11
11
|
from code_puppy.tools.common import should_suppress_browser
|
|
12
12
|
|
|
13
13
|
from .config import META_OAUTH_CONFIG
|
|
14
|
+
from .plan import describe_plan
|
|
14
15
|
from .utils import (
|
|
15
16
|
discover_models,
|
|
16
17
|
load_credentials,
|
|
@@ -106,4 +107,6 @@ def run_oauth_flow() -> bool:
|
|
|
106
107
|
return False
|
|
107
108
|
|
|
108
109
|
emit_success(t("oauth.meta.auth.success"))
|
|
110
|
+
for line in describe_plan(credentials):
|
|
111
|
+
emit_info(line)
|
|
109
112
|
return True
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"""Describe the Muse Code subscription plan carried by a minted Meta key.
|
|
2
|
+
|
|
3
|
+
Meta's ``/muse-code/key`` response includes plan fields (``subs_tier_name``,
|
|
4
|
+
``is_subs_active``, ``subs_usage``...). They are a snapshot taken at login, so
|
|
5
|
+
usage figures are labelled as such rather than presented as live numbers.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
from collections.abc import Mapping
|
|
11
|
+
from datetime import datetime
|
|
12
|
+
|
|
13
|
+
from code_puppy.i18n import t
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def _mapping(value: object) -> Mapping[str, object]:
|
|
17
|
+
return value if isinstance(value, Mapping) else {}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def _subscription_active(credentials: Mapping[str, object]) -> bool | None:
|
|
21
|
+
# The mint response says ``is_subs_active``; the Muse CLI file says ``subs_active``.
|
|
22
|
+
for key in ("is_subs_active", "subs_active"):
|
|
23
|
+
value = credentials.get(key)
|
|
24
|
+
if isinstance(value, bool):
|
|
25
|
+
return value
|
|
26
|
+
return None
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def _format_reset(value: object) -> str:
|
|
30
|
+
if isinstance(value, bool):
|
|
31
|
+
return ""
|
|
32
|
+
if isinstance(value, (int, float)):
|
|
33
|
+
return datetime.fromtimestamp(value).astimezone().strftime("%Y-%m-%d %H:%M %Z")
|
|
34
|
+
return str(value) if value else ""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _usage_line(label: str, snapshot: Mapping[str, object]) -> str | None:
|
|
38
|
+
used = snapshot.get("used_percent")
|
|
39
|
+
if not isinstance(used, (int, float)) or isinstance(used, bool):
|
|
40
|
+
return None
|
|
41
|
+
reset = _format_reset(snapshot.get("resets_at"))
|
|
42
|
+
if reset:
|
|
43
|
+
return t(
|
|
44
|
+
"plugin.meta-oauth.plan.usage_reset",
|
|
45
|
+
window=label,
|
|
46
|
+
used=f"{used:g}",
|
|
47
|
+
reset=reset,
|
|
48
|
+
)
|
|
49
|
+
return t("plugin.meta-oauth.plan.usage", window=label, used=f"{used:g}")
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def _window_label(snapshot: Mapping[str, object]) -> str:
|
|
53
|
+
minutes = snapshot.get("window_duration_mins")
|
|
54
|
+
if isinstance(minutes, int) and not isinstance(minutes, bool) and minutes > 0:
|
|
55
|
+
if minutes % 60 == 0:
|
|
56
|
+
return t("plugin.meta-oauth.plan.window_hours", hours=minutes // 60)
|
|
57
|
+
return t("plugin.meta-oauth.plan.window_minutes", minutes=minutes)
|
|
58
|
+
return t("plugin.meta-oauth.plan.window")
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def describe_plan(credentials: Mapping[str, object]) -> list[str]:
|
|
62
|
+
"""Return human-readable plan lines; empty when Meta sent no plan data."""
|
|
63
|
+
active = _subscription_active(credentials)
|
|
64
|
+
tier = credentials.get("subs_tier_name") or credentials.get("subs_tier_id")
|
|
65
|
+
lines: list[str] = []
|
|
66
|
+
if tier:
|
|
67
|
+
lines.append(t("plugin.meta-oauth.plan.tier", tier=tier))
|
|
68
|
+
if active is not None:
|
|
69
|
+
lines.append(
|
|
70
|
+
t(
|
|
71
|
+
"plugin.meta-oauth.plan.active"
|
|
72
|
+
if active
|
|
73
|
+
else "plugin.meta-oauth.plan.inactive"
|
|
74
|
+
)
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
usage = _mapping(credentials.get("subs_usage"))
|
|
78
|
+
window = _mapping(usage.get("window"))
|
|
79
|
+
candidates = (
|
|
80
|
+
_usage_line(_window_label(window), window),
|
|
81
|
+
_usage_line(t("plugin.meta-oauth.plan.weekly"), _mapping(usage.get("weekly"))),
|
|
82
|
+
)
|
|
83
|
+
lines.extend(line for line in candidates if line)
|
|
84
|
+
|
|
85
|
+
if credentials.get("is_subs_upgrade_available") is True:
|
|
86
|
+
lines.append(t("plugin.meta-oauth.plan.upgrade"))
|
|
87
|
+
return lines
|
|
@@ -2,17 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from importlib.resources import files
|
|
5
6
|
from typing import Any
|
|
6
7
|
|
|
7
8
|
from code_puppy.callbacks import register_callback
|
|
8
|
-
from code_puppy.i18n import t
|
|
9
|
+
from code_puppy.i18n import register_plugin_catalog, t
|
|
9
10
|
from code_puppy.messaging import emit_info, emit_success, emit_warning
|
|
10
11
|
from code_puppy.model_switching import set_model_and_reload_agent
|
|
11
12
|
|
|
12
13
|
from .config import FALLBACK_MODELS, META_OAUTH_CONFIG, get_token_storage_path
|
|
13
14
|
from .oauth_flow import run_oauth_flow
|
|
15
|
+
from .plan import describe_plan
|
|
14
16
|
from .utils import discover_models, load_credentials
|
|
15
17
|
|
|
18
|
+
register_plugin_catalog(files(__package__).joinpath("locales"))
|
|
19
|
+
|
|
16
20
|
_PREFIX = str(META_OAUTH_CONFIG["prefix"])
|
|
17
21
|
_DEFAULT_MODEL = f"{_PREFIX}{META_OAUTH_CONFIG['default_model']}"
|
|
18
22
|
_model_cache: dict[str, dict[str, Any]] | None = None
|
|
@@ -80,6 +84,8 @@ def _handle_meta_status() -> None:
|
|
|
80
84
|
emit_info(
|
|
81
85
|
t("oauth.meta.status.source", source=credentials.get("_source", "unknown"))
|
|
82
86
|
)
|
|
87
|
+
for line in describe_plan(credentials):
|
|
88
|
+
emit_info(line)
|
|
83
89
|
emit_info(
|
|
84
90
|
t("oauth.meta.status.models", models=", ".join(_meta_model_names(credentials)))
|
|
85
91
|
)
|
|
@@ -6,6 +6,7 @@ import json
|
|
|
6
6
|
import logging
|
|
7
7
|
import os
|
|
8
8
|
import tempfile
|
|
9
|
+
from collections.abc import Mapping
|
|
9
10
|
from pathlib import Path
|
|
10
11
|
from typing import Any
|
|
11
12
|
from urllib.parse import urlparse
|
|
@@ -188,9 +189,14 @@ def poll_device_token(device_code: str) -> tuple[str, dict[str, Any]]:
|
|
|
188
189
|
|
|
189
190
|
|
|
190
191
|
def mint_api_credentials(access_token: str) -> dict[str, Any]:
|
|
191
|
-
"""Exchange a Meta account token for a Model API credential.
|
|
192
|
+
"""Exchange a Meta account token for a Model API credential.
|
|
193
|
+
|
|
194
|
+
The mint endpoint rejects a body-less POST with "Request body is required
|
|
195
|
+
but was empty or null", so always send an (empty) JSON object.
|
|
196
|
+
"""
|
|
192
197
|
response = requests.post(
|
|
193
198
|
_validate_url(str(META_OAUTH_CONFIG["mint_url"]), "api.meta.ai"),
|
|
199
|
+
json={},
|
|
194
200
|
headers={
|
|
195
201
|
"Accept": "application/json",
|
|
196
202
|
"Authorization": f"Bearer {access_token}",
|
|
@@ -205,8 +211,10 @@ def mint_api_credentials(access_token: str) -> dict[str, Any]:
|
|
|
205
211
|
_problem(response, f"Meta key mint failed ({response.status_code})")
|
|
206
212
|
)
|
|
207
213
|
payload = response.json()
|
|
208
|
-
if not isinstance(payload, dict)
|
|
209
|
-
raise RuntimeError("Meta key mint returned
|
|
214
|
+
if not isinstance(payload, dict):
|
|
215
|
+
raise RuntimeError("Meta key mint returned invalid JSON")
|
|
216
|
+
if not payload.get("api_key"):
|
|
217
|
+
raise RuntimeError(_mint_refusal(payload))
|
|
210
218
|
payload["api_base_url"] = validate_api_base_url(
|
|
211
219
|
str(payload.get("base_url") or payload.get("api_base_url") or "")
|
|
212
220
|
)
|
|
@@ -214,6 +222,17 @@ def mint_api_credentials(access_token: str) -> dict[str, Any]:
|
|
|
214
222
|
return payload
|
|
215
223
|
|
|
216
224
|
|
|
225
|
+
def _mint_refusal(payload: Mapping[str, object]) -> str:
|
|
226
|
+
"""Explain a key-less mint, e.g. a Muse Code plan that needs payment."""
|
|
227
|
+
reason = str(
|
|
228
|
+
payload.get("detail")
|
|
229
|
+
or payload.get("title")
|
|
230
|
+
or "Meta key mint returned no API key"
|
|
231
|
+
)
|
|
232
|
+
action_url = payload.get("action_url")
|
|
233
|
+
return f"{reason} ({action_url})" if action_url else reason
|
|
234
|
+
|
|
235
|
+
|
|
217
236
|
def discover_models(credentials: dict[str, Any]) -> dict[str, dict[str, Any]]:
|
|
218
237
|
"""Fetch Meta's Muse catalogue and convert it to Code Puppy model specs."""
|
|
219
238
|
response = requests.get(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|