code-puppy-core-plugins 0.0.97__tar.gz → 0.0.99__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.
Files changed (597) hide show
  1. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/PKG-INFO +1 -1
  2. code_puppy_core_plugins-0.0.99/code_puppy_core_plugins/execution_environment/README.md +46 -0
  3. code_puppy_core_plugins-0.0.99/code_puppy_core_plugins/execution_environment/__init__.py +1 -0
  4. code_puppy_core_plugins-0.0.99/code_puppy_core_plugins/execution_environment/register_callbacks.py +60 -0
  5. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/README.md +1 -0
  6. code_puppy_core_plugins-0.0.99/code_puppy_core_plugins/setup_cli/auth_cmds.py +215 -0
  7. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/cli.py +9 -4
  8. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/providers.py +25 -0
  9. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/sbx_plan.py +90 -4
  10. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/pyproject.toml +2 -1
  11. code_puppy_core_plugins-0.0.97/code_puppy_core_plugins/setup_cli/auth_cmds.py +0 -124
  12. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/.gitignore +0 -0
  13. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/LICENSE +0 -0
  14. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/README.md +0 -0
  15. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/THIRD_PARTY_NOTICES.md +0 -0
  16. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/__init__.py +0 -0
  17. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/README.md +0 -0
  18. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/__init__.py +0 -0
  19. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/agent.py +0 -0
  20. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/bridge.py +0 -0
  21. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/capabilities.py +0 -0
  22. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/commands.py +0 -0
  23. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/content.py +0 -0
  24. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/io_delegation.py +0 -0
  25. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/mcp_config.py +0 -0
  26. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/permissions.py +0 -0
  27. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/persistence.py +0 -0
  28. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/register_callbacks.py +0 -0
  29. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/replay.py +0 -0
  30. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/session.py +0 -0
  31. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/session_config.py +0 -0
  32. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/acp/state.py +0 -0
  33. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_creator_skill/SKILL.md +0 -0
  34. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_creator_skill/__init__.py +0 -0
  35. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_creator_skill/register_callbacks.py +0 -0
  36. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/__init__.py +0 -0
  37. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/config.py +0 -0
  38. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/discovery.py +0 -0
  39. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/enabled_skills.py +0 -0
  40. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/metadata.py +0 -0
  41. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/prompt_builder.py +0 -0
  42. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/provider.py +0 -0
  43. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/register_callbacks.py +0 -0
  44. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/skill_commands.py +0 -0
  45. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/agent_skills/skills_menu.py +0 -0
  46. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/attachment_references/__init__.py +0 -0
  47. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/attachment_references/register_callbacks.py +0 -0
  48. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/attachment_references/tool.py +0 -0
  49. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/auto_continue/__init__.py +0 -0
  50. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/auto_continue/classifier.py +0 -0
  51. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/auto_continue/register_callbacks.py +0 -0
  52. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/aws_bedrock/__init__.py +0 -0
  53. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/aws_bedrock/config.py +0 -0
  54. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/aws_bedrock/register_callbacks.py +0 -0
  55. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/aws_bedrock/utils.py +0 -0
  56. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/azure_foundry/README.md +0 -0
  57. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/azure_foundry/__init__.py +0 -0
  58. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/azure_foundry/config.py +0 -0
  59. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/azure_foundry/discovery.py +0 -0
  60. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/azure_foundry/register_callbacks.py +0 -0
  61. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/azure_foundry/token.py +0 -0
  62. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/azure_foundry/utils.py +0 -0
  63. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/background_agents/README.md +0 -0
  64. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/background_agents/__init__.py +0 -0
  65. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/background_agents/register_callbacks.py +0 -0
  66. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/btw/__init__.py +0 -0
  67. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/btw/inline_view.py +0 -0
  68. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/btw/register_callbacks.py +0 -0
  69. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/btw/side_query.py +0 -0
  70. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/IMAGEGEN_SKILL.md +0 -0
  71. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/__init__.py +0 -0
  72. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/config.py +0 -0
  73. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/image_generation.py +0 -0
  74. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/image_tool.py +0 -0
  75. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/model_catalog.py +0 -0
  76. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/oauth_flow.py +0 -0
  77. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/register_callbacks.py +0 -0
  78. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/test_plugin.py +0 -0
  79. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/usage.py +0 -0
  80. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/chatgpt_oauth/utils.py +0 -0
  81. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_hooks/__init__.py +0 -0
  82. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_hooks/config.py +0 -0
  83. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_hooks/register_callbacks.py +0 -0
  84. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_hooks/trust.py +0 -0
  85. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/README.md +0 -0
  86. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/SETUP.md +0 -0
  87. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/__init__.py +0 -0
  88. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/config.py +0 -0
  89. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/fast_mode.py +0 -0
  90. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/model_filter.py +0 -0
  91. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/model_provider.py +0 -0
  92. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/prompt_handler.py +0 -0
  93. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/register_callbacks.py +0 -0
  94. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/runtime_credentials.py +0 -0
  95. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/test_plugin.py +0 -0
  96. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
  97. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/token_store.py +0 -0
  98. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/claude_code_oauth/utils.py +0 -0
  99. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/code_puppy_agent/AGENTS_AND_TOOLS.md +0 -0
  100. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/code_puppy_agent/MODELS_AND_MCP.md +0 -0
  101. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/code_puppy_agent/PLUGINS_AND_CALLBACKS.md +0 -0
  102. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/code_puppy_agent/SESSIONS_AND_HISTORY.md +0 -0
  103. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/code_puppy_agent/SKILL.md +0 -0
  104. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/code_puppy_agent/SKILLS_SYSTEM.md +0 -0
  105. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/code_puppy_agent/SYSTEM_PROMPT_CONFIG_AND_I18N.md +0 -0
  106. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/code_puppy_agent/__init__.py +0 -0
  107. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/code_puppy_agent/register_callbacks.py +0 -0
  108. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/completion_notification/__init__.py +0 -0
  109. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/completion_notification/config.py +0 -0
  110. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/completion_notification/locales/en-US.json +0 -0
  111. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/completion_notification/locales/es.json +0 -0
  112. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/completion_notification/locales/fr-CA.json +0 -0
  113. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/completion_notification/notifier.py +0 -0
  114. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/completion_notification/register_callbacks.py +0 -0
  115. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/FOCUS_INVESTIGATION.md +0 -0
  116. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/NativeCapture.swift +0 -0
  117. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/PARITY.md +0 -0
  118. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/README.md +0 -0
  119. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/WINDOWS.md +0 -0
  120. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/__init__.py +0 -0
  121. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/accessibility.py +0 -0
  122. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/activation.py +0 -0
  123. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/backend.py +0 -0
  124. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/backend_types.py +0 -0
  125. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/batch.py +0 -0
  126. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/capture.py +0 -0
  127. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/commands.py +0 -0
  128. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/geometry.py +0 -0
  129. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/inline_image.py +0 -0
  130. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/keycodes.py +0 -0
  131. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/locales/en-US.json +0 -0
  132. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/locales/es.json +0 -0
  133. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/locales/fr-CA.json +0 -0
  134. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/macos_backend.py +0 -0
  135. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/permissions.py +0 -0
  136. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/policy.py +0 -0
  137. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/register_callbacks.py +0 -0
  138. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/safety.py +0 -0
  139. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/settle.py +0 -0
  140. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/state.py +0 -0
  141. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/tools.py +0 -0
  142. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/windows_accessibility.py +0 -0
  143. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/windows_activation.py +0 -0
  144. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/windows_backend.py +0 -0
  145. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/windows_capture.py +0 -0
  146. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/windows_input.py +0 -0
  147. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/windows_native.py +0 -0
  148. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/computer_use/windows_runtime.py +0 -0
  149. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/context_indicator/__init__.py +0 -0
  150. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/context_indicator/register_callbacks.py +0 -0
  151. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/context_indicator/usage.py +0 -0
  152. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/copilot_auth/__init__.py +0 -0
  153. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/copilot_auth/config.py +0 -0
  154. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/copilot_auth/reasoning_client.py +0 -0
  155. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/copilot_auth/register_callbacks.py +0 -0
  156. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/copilot_auth/responses_stream.py +0 -0
  157. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/copilot_auth/utils.py +0 -0
  158. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/customizable_commands/__init__.py +0 -0
  159. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/customizable_commands/register_callbacks.py +0 -0
  160. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/__init__.py +0 -0
  161. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/cancel.py +0 -0
  162. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/commands.py +0 -0
  163. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/config.py +0 -0
  164. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/lifecycle.py +0 -0
  165. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/register_callbacks.py +0 -0
  166. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/runtime.py +0 -0
  167. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/startup_lock.py +0 -0
  168. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/workflow_ids.py +0 -0
  169. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/dbos_durable_exec/wrapper.py +0 -0
  170. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/destructive_command_guard/AGENTS.md +0 -0
  171. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/destructive_command_guard/__init__.py +0 -0
  172. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/destructive_command_guard/detector.py +0 -0
  173. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/destructive_command_guard/register_callbacks.py +0 -0
  174. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/emoji_filter/__init__.py +0 -0
  175. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/emoji_filter/config.py +0 -0
  176. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/emoji_filter/register_callbacks.py +0 -0
  177. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/emoji_filter/stripper.py +0 -0
  178. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/empty_html_comment_filter/register_callbacks.py +0 -0
  179. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/example_custom_command/README.md +0 -0
  180. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/example_custom_command/register_callbacks.py +0 -0
  181. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/file_permission_handler/__init__.py +0 -0
  182. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/file_permission_handler/register_callbacks.py +0 -0
  183. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/__init__.py +0 -0
  184. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/README.md +0 -0
  185. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/cheatsheet.md +0 -0
  186. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/pipeline.md +0 -0
  187. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/synopsis.md +0 -0
  188. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/about.md +0 -0
  189. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/address-feedback.md +0 -0
  190. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/ask.md +0 -0
  191. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/aug.md +0 -0
  192. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/auto-pilot.md +0 -0
  193. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/cheatsheet.md +0 -0
  194. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/commit.md +0 -0
  195. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/config.md +0 -0
  196. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/create-pr.md +0 -0
  197. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/exec.md +0 -0
  198. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/new.md +0 -0
  199. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/qa.md +0 -0
  200. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/rebase.md +0 -0
  201. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/review.md +0 -0
  202. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/split.md +0 -0
  203. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/squash-commits.md +0 -0
  204. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/status.md +0 -0
  205. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/tests.md +0 -0
  206. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_about.py +0 -0
  207. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_cheatsheet.py +0 -0
  208. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_status.py +0 -0
  209. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/installer.py +0 -0
  210. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/flux_bootstrap/register_callbacks.py +0 -0
  211. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/force_push_guard/__init__.py +0 -0
  212. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/force_push_guard/detector.py +0 -0
  213. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/force_push_guard/register_callbacks.py +0 -0
  214. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/fork/__init__.py +0 -0
  215. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/fork/register_callbacks.py +0 -0
  216. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/frontend_emitter/__init__.py +0 -0
  217. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/frontend_emitter/emitter.py +0 -0
  218. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/frontend_emitter/register_callbacks.py +0 -0
  219. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/frontend_emitter/session_context.py +0 -0
  220. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/grok_oauth/__init__.py +0 -0
  221. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/grok_oauth/config.py +0 -0
  222. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/grok_oauth/oauth_flow.py +0 -0
  223. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/grok_oauth/register_callbacks.py +0 -0
  224. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/grok_oauth/utils.py +0 -0
  225. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/README.md +0 -0
  226. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/SKILL.md +0 -0
  227. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/__init__.py +0 -0
  228. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/client.py +0 -0
  229. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/command_intent.py +0 -0
  230. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/launch_command.py +0 -0
  231. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/launcher.py +0 -0
  232. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/register_callbacks.py +0 -0
  233. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/reporter.py +0 -0
  234. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/restore.py +0 -0
  235. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/smoke.py +0 -0
  236. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/herdr/sources.py +0 -0
  237. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/hook_creator/__init__.py +0 -0
  238. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/hook_creator/register_callbacks.py +0 -0
  239. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/hook_manager/__init__.py +0 -0
  240. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/hook_manager/config.py +0 -0
  241. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/hook_manager/hooks_menu.py +0 -0
  242. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/hook_manager/register_callbacks.py +0 -0
  243. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/hook_manager/trust_handler.py +0 -0
  244. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/__init__.py +0 -0
  245. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/chunks.py +0 -0
  246. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/config.py +0 -0
  247. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/judge.py +0 -0
  248. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/register_callbacks.py +0 -0
  249. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/retrieve.py +0 -0
  250. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/search.py +0 -0
  251. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/structure.py +0 -0
  252. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/tool.py +0 -0
  253. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/jev_grep/treesitter.py +0 -0
  254. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/logfire_oauth/__init__.py +0 -0
  255. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/logfire_oauth/oauth.py +0 -0
  256. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/logfire_oauth/query_tool.py +0 -0
  257. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/logfire_oauth/register_callbacks.py +0 -0
  258. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/logfire_sessions/__init__.py +0 -0
  259. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/logfire_sessions/mirror.py +0 -0
  260. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/logfire_sessions/query.py +0 -0
  261. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/logfire_sessions/register_callbacks.py +0 -0
  262. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/logfire_sessions/sync.py +0 -0
  263. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/mcp_binding_prompt/README.md +0 -0
  264. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/mcp_binding_prompt/__init__.py +0 -0
  265. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/mcp_binding_prompt/custom_install.py +0 -0
  266. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/mcp_binding_prompt/http_form.py +0 -0
  267. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/mcp_binding_prompt/register_callbacks.py +0 -0
  268. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/meta_oauth/__init__.py +0 -0
  269. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/meta_oauth/config.py +0 -0
  270. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/meta_oauth/locales/en-US.json +0 -0
  271. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/meta_oauth/oauth_flow.py +0 -0
  272. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/meta_oauth/plan.py +0 -0
  273. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/meta_oauth/register_callbacks.py +0 -0
  274. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/meta_oauth/utils.py +0 -0
  275. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/namespace_skill_search/README.md +0 -0
  276. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/namespace_skill_search/__init__.py +0 -0
  277. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/namespace_skill_search/namespaces.py +0 -0
  278. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/namespace_skill_search/register_callbacks.py +0 -0
  279. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/namespace_skill_search/search_tool.py +0 -0
  280. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/no_tools/__init__.py +0 -0
  281. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/no_tools/register_callbacks.py +0 -0
  282. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/oauth_pasteback.py +0 -0
  283. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/oauth_puppy_html.py +0 -0
  284. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/obsidian_agent/README.md +0 -0
  285. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/obsidian_agent/__init__.py +0 -0
  286. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/obsidian_agent/agent_obsidian.py +0 -0
  287. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/obsidian_agent/register_callbacks.py +0 -0
  288. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/ollama/__init__.py +0 -0
  289. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/ollama/register_callbacks.py +0 -0
  290. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/ollama_setup/__init__.py +0 -0
  291. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/ollama_setup/completer.py +0 -0
  292. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/ollama_setup/register_callbacks.py +0 -0
  293. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/openrouter_oauth/__init__.py +0 -0
  294. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/openrouter_oauth/config.py +0 -0
  295. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/openrouter_oauth/oauth_flow.py +0 -0
  296. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/openrouter_oauth/register_callbacks.py +0 -0
  297. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/openrouter_oauth/test_plugin.py +0 -0
  298. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/plugin_list/__init__.py +0 -0
  299. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/plugin_list/plugin_contributions.py +0 -0
  300. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/plugin_list/plugin_meta.py +0 -0
  301. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/plugin_list/plugin_text_utils.py +0 -0
  302. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/plugin_list/plugins_menu.py +0 -0
  303. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/plugin_list/plugins_menu_render.py +0 -0
  304. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/plugin_list/project_trust_flow.py +0 -0
  305. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/plugin_list/register_callbacks.py +0 -0
  306. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/plugin_settings.py +0 -0
  307. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pop_command/__init__.py +0 -0
  308. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pop_command/register_callbacks.py +0 -0
  309. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/profiles/README.md +0 -0
  310. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/profiles/__init__.py +0 -0
  311. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/profiles/config.py +0 -0
  312. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/profiles/locales/en-US.json +0 -0
  313. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/profiles/menu.py +0 -0
  314. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/profiles/register_callbacks.py +0 -0
  315. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/prompt_newline/__init__.py +0 -0
  316. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/prompt_newline/config.py +0 -0
  317. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/prompt_newline/register_callbacks.py +0 -0
  318. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/prune/__init__.py +0 -0
  319. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/prune/prune_menu.py +0 -0
  320. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/prune/prune_model.py +0 -0
  321. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/prune/prune_render.py +0 -0
  322. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/prune/register_callbacks.py +0 -0
  323. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/README.md +0 -0
  324. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/__init__.py +0 -0
  325. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/adapter.py +0 -0
  326. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/agents.py +0 -0
  327. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/catalog.py +0 -0
  328. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/commands.py +0 -0
  329. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/config.py +0 -0
  330. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/prompt.py +0 -0
  331. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/register_callbacks.py +0 -0
  332. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/skill_validator.py +0 -0
  333. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/skills/create-skill/SKILL.md +0 -0
  334. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/upstream.py +0 -0
  335. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/UPSTREAM.json +0 -0
  336. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/LICENSE +0 -0
  337. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/skills/control-cli/SKILL.md +0 -0
  338. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/skills/control-ui/SKILL.md +0 -0
  339. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/skills/deslop/SKILL.md +0 -0
  340. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/LICENSE +0 -0
  341. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/README.md +0 -0
  342. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/agents/comment-sicko.md +0 -0
  343. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/agents/poteto-agent.md +0 -0
  344. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/FOR_AGENTS.md +0 -0
  345. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/README.md +0 -0
  346. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/SKILL.md +0 -0
  347. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/references/control-adapter.md +0 -0
  348. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/references/feature-map.example.md +0 -0
  349. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/references/verify-existing-fix.md +0 -0
  350. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/setup-benny/SKILL.md +0 -0
  351. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/triage-issue-reports/SKILL.md +0 -0
  352. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/triage-issue-reports/references/routing.example.md +0 -0
  353. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/templates/configuration.example.yaml +0 -0
  354. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/templates/reproduce-automation-prompt.md +0 -0
  355. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/templates/triage-automation-prompt.md +0 -0
  356. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/01-setup.md +0 -0
  357. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/02-poteto-mode.md +0 -0
  358. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/03-understand.md +0 -0
  359. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/04-design.md +0 -0
  360. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/05-build-and-clean.md +0 -0
  361. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/06-verify-and-ship.md +0 -0
  362. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/07-overnight.md +0 -0
  363. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/08-principles.md +0 -0
  364. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/09-make-it-yours.md +0 -0
  365. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/10-recipes-and-pitfalls.md +0 -0
  366. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/README.md +0 -0
  367. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/plugin.json +0 -0
  368. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/SKILL.md +0 -0
  369. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/references/design-red-flags.md +0 -0
  370. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/references/rationale-template.md +0 -0
  371. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/references/runner-prompt.md +0 -0
  372. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/arena/SKILL.md +0 -0
  373. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/automate-me/SKILL.md +0 -0
  374. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/benchmark-checklist/SKILL.md +0 -0
  375. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/blast-radius/SKILL.md +0 -0
  376. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/bro/SKILL.md +0 -0
  377. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/correct/SKILL.md +0 -0
  378. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/SKILL.md +0 -0
  379. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/references/feature-map-example/README.md +0 -0
  380. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/references/feature-map-example/create-note.md +0 -0
  381. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/references/feature-map-example/search.md +0 -0
  382. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/figure-it-out/SKILL.md +0 -0
  383. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/how/SKILL.md +0 -0
  384. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/how/references/explainer-prompt.md +0 -0
  385. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/how/references/explorer-prompt.md +0 -0
  386. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/in-your-own-words/SKILL.md +0 -0
  387. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/SKILL.md +0 -0
  388. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/code-quality-review.md +0 -0
  389. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/lead-judgment.md +0 -0
  390. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/reviewer-prompt.md +0 -0
  391. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/rubric.md +0 -0
  392. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/ketchup/SKILL.md +0 -0
  393. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/maintain-verification-skill/SKILL.md +0 -0
  394. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/make-bot-ui/SKILL.md +0 -0
  395. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/no-comments/SKILL.md +0 -0
  396. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-help/SKILL.md +0 -0
  397. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-help/references/prompting.md +0 -0
  398. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-help/references/recipes.md +0 -0
  399. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/SKILL.md +0 -0
  400. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/authoring-a-skill.md +0 -0
  401. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/autonomous-run.md +0 -0
  402. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/autopilot-full.md +0 -0
  403. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/autopilot-stack.md +0 -0
  404. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/babysit.md +0 -0
  405. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/bug-fix.md +0 -0
  406. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/eval.md +0 -0
  407. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/feature.md +0 -0
  408. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/hillclimb.md +0 -0
  409. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/investigation.md +0 -0
  410. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/multi-phase-plan.md +0 -0
  411. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/opening-a-pr.md +0 -0
  412. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/orchestrate.md +0 -0
  413. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/pause-safely.md +0 -0
  414. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/perf-issue.md +0 -0
  415. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/prototype.md +0 -0
  416. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/refactoring.md +0 -0
  417. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/runtime-forensics.md +0 -0
  418. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/session-pickup.md +0 -0
  419. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/shipping.md +0 -0
  420. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/trace-forensics.md +0 -0
  421. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/visual-parity.md +0 -0
  422. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/worktree-cleanup.md +0 -0
  423. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/references/bugbot-triage.md +0 -0
  424. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/bootstrap.ts +0 -0
  425. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/bun.lock +0 -0
  426. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/check-plan.mjs +0 -0
  427. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/check-plan.test.ts +0 -0
  428. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/orch/orch.test.ts +0 -0
  429. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/orch/orch.ts +0 -0
  430. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/orch/store.ts +0 -0
  431. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/package.json +0 -0
  432. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/cli.test.ts +0 -0
  433. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/cli.ts +0 -0
  434. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +0 -0
  435. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/github.test.ts +0 -0
  436. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/github.ts +0 -0
  437. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/policy.test.ts +0 -0
  438. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/policy.ts +0 -0
  439. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/render.ts +0 -0
  440. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/tsconfig.json +0 -0
  441. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/types.compile.ts +0 -0
  442. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/types.ts +0 -0
  443. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/watch-pr +0 -0
  444. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/worktree-audit.sh +0 -0
  445. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-attack-the-premise/SKILL.md +0 -0
  446. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-boundary-discipline/SKILL.md +0 -0
  447. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-build-the-lever/SKILL.md +0 -0
  448. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-encode-lessons-in-structure/SKILL.md +0 -0
  449. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-exhaust-the-design-space/SKILL.md +0 -0
  450. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-experience-first/SKILL.md +0 -0
  451. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-explain-the-number/SKILL.md +0 -0
  452. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-fix-root-causes/SKILL.md +0 -0
  453. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-foundational-thinking/SKILL.md +0 -0
  454. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-guard-the-context-window/SKILL.md +0 -0
  455. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-laziness-protocol/SKILL.md +0 -0
  456. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-make-operations-idempotent/SKILL.md +0 -0
  457. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +0 -0
  458. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-minimize-reader-load/SKILL.md +0 -0
  459. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-model-the-domain/SKILL.md +0 -0
  460. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-never-block-on-the-human/SKILL.md +0 -0
  461. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-outcome-oriented-execution/SKILL.md +0 -0
  462. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-prove-it-works/SKILL.md +0 -0
  463. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-redesign-from-first-principles/SKILL.md +0 -0
  464. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-separate-before-serializing-shared-state/SKILL.md +0 -0
  465. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-sequence-verifiable-units/SKILL.md +0 -0
  466. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-subtract-before-you-add/SKILL.md +0 -0
  467. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-test-behavior-not-implementation/SKILL.md +0 -0
  468. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-type-system-discipline/SKILL.md +0 -0
  469. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/recall/SKILL.md +0 -0
  470. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/SKILL.md +0 -0
  471. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/divergent-reviewer.md +0 -0
  472. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/judgment-reviewer.md +0 -0
  473. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/synthesizer.md +0 -0
  474. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/tooling-reviewer.md +0 -0
  475. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/setup-pstack/SKILL.md +0 -0
  476. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/show-me-your-work/SKILL.md +0 -0
  477. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/show-me-your-work/references/decision-log-template.tsv +0 -0
  478. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/show-me-your-work/scripts/log.sh +0 -0
  479. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/swarm/SKILL.md +0 -0
  480. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/tdd/SKILL.md +0 -0
  481. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/teach/SKILL.md +0 -0
  482. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/technical-writing/SKILL.md +0 -0
  483. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/typescript-best-practices/SKILL.md +0 -0
  484. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/typescript-best-practices/references/patterns.md +0 -0
  485. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/unslop/SKILL.md +0 -0
  486. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/SKILL.md +0 -0
  487. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/epistemics.md +0 -0
  488. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/investigator-prompt.md +0 -0
  489. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/source-playbook.md +0 -0
  490. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/code-archaeology.md +0 -0
  491. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/databricks.md +0 -0
  492. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/datadog.md +0 -0
  493. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/incident-postmortem.md +0 -0
  494. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/linear.md +0 -0
  495. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/notion.md +0 -0
  496. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/sentry.md +0 -0
  497. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/slack.md +0 -0
  498. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/synthesizer-prompt.md +0 -0
  499. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/README.md +0 -0
  500. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/__init__.py +0 -0
  501. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/commands.py +0 -0
  502. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/config.py +0 -0
  503. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/kennel.py +0 -0
  504. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/packer.py +0 -0
  505. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/recorder.py +0 -0
  506. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/register_callbacks.py +0 -0
  507. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/retriever.py +0 -0
  508. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/schema.py +0 -0
  509. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/state.py +0 -0
  510. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/tools.py +0 -0
  511. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_kennel/wings.py +0 -0
  512. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_spinner/README.md +0 -0
  513. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_spinner/__init__.py +0 -0
  514. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_spinner/builtin_frames.py +0 -0
  515. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_spinner/commands.py +0 -0
  516. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_spinner/picker.py +0 -0
  517. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_spinner/register_callbacks.py +0 -0
  518. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/puppy_spinner/spinners.py +0 -0
  519. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/qa_kitten_skill/SKILL.md +0 -0
  520. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/qa_kitten_skill/__init__.py +0 -0
  521. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/qa_kitten_skill/register_callbacks.py +0 -0
  522. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/quick_resume/__init__.py +0 -0
  523. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/quick_resume/register_callbacks.py +0 -0
  524. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/review_pr/__init__.py +0 -0
  525. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/review_pr/register_callbacks.py +0 -0
  526. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/session_namer/__init__.py +0 -0
  527. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/session_namer/namer.py +0 -0
  528. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/session_namer/register_callbacks.py +0 -0
  529. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/__init__.py +0 -0
  530. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/agent_cmds.py +0 -0
  531. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/config_cmds.py +0 -0
  532. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/doctor.py +0 -0
  533. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/export_cmds.py +0 -0
  534. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/mcp_cmds.py +0 -0
  535. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/model_cmds.py +0 -0
  536. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/output.py +0 -0
  537. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/plugin_cmds.py +0 -0
  538. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/register_callbacks.py +0 -0
  539. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/skill_cmds.py +0 -0
  540. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/setup_cli/wizard.py +0 -0
  541. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/spill/LICENSE.deepseek +0 -0
  542. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/spill/__init__.py +0 -0
  543. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/spill/register_callbacks.py +0 -0
  544. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/spill/store.py +0 -0
  545. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/stack_dump/__init__.py +0 -0
  546. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/stack_dump/register_callbacks.py +0 -0
  547. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/statusline/__init__.py +0 -0
  548. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/statusline/config.py +0 -0
  549. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/statusline/payload.py +0 -0
  550. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/statusline/prompt_patch.py +0 -0
  551. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/statusline/register_callbacks.py +0 -0
  552. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/statusline/runner.py +0 -0
  553. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/statusline/statusline_command.py +0 -0
  554. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/steer_queue/__init__.py +0 -0
  555. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/steer_queue/queue_menu.py +0 -0
  556. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/steer_queue/register_callbacks.py +0 -0
  557. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/subagent_panel/README.md +0 -0
  558. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/subagent_panel/__init__.py +0 -0
  559. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/subagent_panel/coalesce_patch.py +0 -0
  560. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/subagent_panel/panel_render.py +0 -0
  561. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/subagent_panel/register_callbacks.py +0 -0
  562. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/subagent_panel/resume_repaint.py +0 -0
  563. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/subagent_panel/state.py +0 -0
  564. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/switch_agent_resume/__init__.py +0 -0
  565. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/switch_agent_resume/register_callbacks.py +0 -0
  566. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/termflow_tui.py +0 -0
  567. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/README.md +0 -0
  568. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/__init__.py +0 -0
  569. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/bundled_palettes.py +0 -0
  570. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/content_styles.py +0 -0
  571. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/osc_palette.py +0 -0
  572. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/picker.py +0 -0
  573. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/prompt_toolkit_theme.py +0 -0
  574. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/register_callbacks.py +0 -0
  575. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/rich_themes.py +0 -0
  576. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/theme/themes.py +0 -0
  577. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/timestamp_heartbeat/__init__.py +0 -0
  578. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/timestamp_heartbeat/register_callbacks.py +0 -0
  579. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/universal_constructor/__init__.py +0 -0
  580. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/universal_constructor/models.py +0 -0
  581. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/universal_constructor/provider.py +0 -0
  582. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/universal_constructor/register_callbacks.py +0 -0
  583. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/universal_constructor/registry.py +0 -0
  584. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/universal_constructor/sandbox.py +0 -0
  585. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/web_retriever_skill/SKILL.md +0 -0
  586. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/web_retriever_skill/__init__.py +0 -0
  587. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/web_retriever_skill/register_callbacks.py +0 -0
  588. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/wiggum/__init__.py +0 -0
  589. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/wiggum/cancellation.py +0 -0
  590. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/wiggum/goal_runs.py +0 -0
  591. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/wiggum/judge.py +0 -0
  592. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/wiggum/judge_config.py +0 -0
  593. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/wiggum/judges_menu.py +0 -0
  594. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/wiggum/register_callbacks.py +0 -0
  595. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/wiggum/state.py +0 -0
  596. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/code_puppy_core_plugins/yolo_cli/__init__.py +0 -0
  597. {code_puppy_core_plugins-0.0.97 → code_puppy_core_plugins-0.0.99}/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.97
3
+ Version: 0.0.99
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,46 @@
1
+ # Execution environment
2
+
3
+ Bundled `load_prompt` provider that tells agents the host OS and the shell used
4
+ by the local shell tool. No configuration or core-agent changes are required.
5
+ The existing runtime-prompt path includes the fragment for main agents and
6
+ subagents, separate from their cacheable authored instructions.
7
+
8
+ ## Shell selection
9
+
10
+ The provider describes the current core command runner's
11
+ `subprocess.Popen(shell=True)` behavior (no executable override):
12
+
13
+ | Python host | Local execution shell |
14
+ | --- | --- |
15
+ | Windows | `COMSPEC`, falling back to `SystemRoot/System32/cmd.exe` |
16
+ | macOS / Linux / other POSIX | `/bin/sh` |
17
+ | Android | `/system/bin/sh` |
18
+
19
+ The terminal launching Code Puppy is not the execution shell. For example,
20
+ PowerShell or Git Bash launching Windows Python still normally uses cmd.exe;
21
+ WSL running Linux Python uses /bin/sh. The provider does not assume Bash or
22
+ GNU utilities on macOS/Linux. It does not select or change the shell, and its
23
+ facts do not describe remote hosts or explicitly invoked interpreters.
24
+
25
+ Facts are computed whenever core assembles runtime instructions, not cached
26
+ at plugin import. A new process that resumes history builds new instructions.
27
+ Existing core may reuse a built agent and its runtime tail, so this is not a
28
+ promise of per-command refresh or support for changing execution backends
29
+ mid-process. Saved conversations can still contain old environment details.
30
+ If core introduces a configurable shell backend, update this provider to use
31
+ that backend's execution contract rather than inferring it from the terminal.
32
+
33
+ No date/time injection is added. The independent timestamp-heartbeat plugin
34
+ continues to stamp occasional tool results.
35
+
36
+ ## Verification
37
+
38
+ Tests simulate Windows, macOS, Linux, FreeBSD, Cygwin, and Android, exercise
39
+ entry-point registration and the unmodified core's additive runtime path, and
40
+ check graceful failure. These are simulated platform tests, not native
41
+ end-to-end runs on every platform.
42
+
43
+ The original Windows model exercise using `llama-qwen3.8-27b` showed 1/5 correct
44
+ first-choice commands without environment instructions, versus 5/5 with the
45
+ same OS/shell guidance. See the replacement PR for verification scope; prompt
46
+ context reduces ambiguity but cannot guarantee correct model commands.
@@ -0,0 +1 @@
1
+ """Describe the local OS and command shell through the runtime prompt hook."""
@@ -0,0 +1,60 @@
1
+ """Add OS/shell facts to runtime instructions, without changing core agents."""
2
+
3
+ import logging
4
+ import os
5
+ import platform
6
+ import sys
7
+
8
+ from code_puppy.callbacks import register_callback
9
+
10
+ logger = logging.getLogger(__name__)
11
+
12
+
13
+ def get_execution_environment_prompt() -> str:
14
+ """Describe core command_runner's subprocess(shell=True) defaults.
15
+
16
+ No executable override is supplied by the local runner. SHELL and the
17
+ interactive terminal are not authoritative: Windows Python uses COMSPEC,
18
+ POSIX Python uses /bin/sh, and Android Python uses /system/bin/sh.
19
+ Revisit this provider if the runner adds a configurable execution backend.
20
+ """
21
+ system = platform.system() or sys.platform
22
+ if sys.platform == "win32":
23
+ shell = os.environ.get("COMSPEC") or os.path.join(
24
+ os.environ.get("SystemRoot", r"C:\Windows"), "System32", "cmd.exe"
25
+ )
26
+ guidance = (
27
+ "Use syntax compatible with this Windows command shell. "
28
+ "For cmd.exe, use %NAME% for environment variables and Windows "
29
+ "commands such as dir and where; do not use PowerShell cmdlets "
30
+ "or POSIX shell syntax unless explicitly invoking that interpreter."
31
+ )
32
+ else:
33
+ shell = "/system/bin/sh" if hasattr(sys, "getandroidapilevel") else "/bin/sh"
34
+ guidance = (
35
+ "Use POSIX sh-compatible syntax, not Bash-specific syntax unless "
36
+ "explicitly invoking Bash. Do not assume GNU-only utilities or flags "
37
+ "are available on every POSIX operating system."
38
+ )
39
+ return (
40
+ "\n\nExecution environment (local shell tool):\n"
41
+ f"- Operating system: {system}\n"
42
+ f"- Command shell: {shell} (subprocess shell=True)\n"
43
+ f"- {guidance}\n"
44
+ "- The interactive terminal may use a different shell. These facts apply "
45
+ "to local commands, not remote hosts, containers, or explicitly invoked shells."
46
+ )
47
+
48
+
49
+ def _on_load_prompt() -> str | None:
50
+ """Compute current host facts at prompt assembly; never block agent startup."""
51
+ try:
52
+ return get_execution_environment_prompt()
53
+ except Exception:
54
+ logger.debug(
55
+ "Unable to describe the local execution environment", exc_info=True
56
+ )
57
+ return None
58
+
59
+
60
+ register_callback("load_prompt", _on_load_prompt)
@@ -11,6 +11,7 @@ no parallel config logic.
11
11
  code-puppy --setup wizard # guided first-run setup
12
12
  code-puppy --setup doctor [--network] # what's broken / missing?
13
13
  code-puppy --setup auth login meta # delegate to the plugin's own flow
14
+ code-puppy --setup auth login zai-coding-plan # models.dev id (raw env var also works)
14
15
  code-puppy --setup auth list --json
15
16
  code-puppy --setup model add anthropic/claude-haiku-5-5 --set-default
16
17
  code-puppy --setup model list
@@ -0,0 +1,215 @@
1
+ """``setup auth`` — one front door for every provider login Code Puppy has.
2
+
3
+ OAuth logins are *delegated* to the owning plugin's existing interactive
4
+ command in a full Code Puppy subprocess (``code-puppy -p "/x-auth"``):
5
+ those flows print through the messaging system and may open browsers or
6
+ localhost callbacks, none of which exist yet in the ``handle_cli_args``
7
+ context this CLI runs in. Status/logout reads go through the plugins'
8
+ own loaders with structured results. API keys are collected directly
9
+ (hidden prompt, stdin, or environment) into the shared credential
10
+ store and never echoed.
11
+ """
12
+
13
+ from __future__ import annotations
14
+
15
+ import getpass
16
+ import os
17
+ import re
18
+ import shutil
19
+ import subprocess
20
+ import sys
21
+ from typing import Optional
22
+
23
+ from . import providers
24
+ from .output import Out, SetupError
25
+
26
+
27
+ def _delegate_slash_command(command: str) -> int:
28
+ exe = shutil.which("code-puppy") or sys.argv[0]
29
+ print(f'launching: code-puppy -p "/{command}" (interactive provider flow)')
30
+ return subprocess.call([exe, "-p", f"/{command}"])
31
+
32
+
33
+ _ENV_NAME_RE = re.compile(r"[A-Z_][A-Z0-9_]*")
34
+
35
+
36
+ def _resolve_api_key_envs(provider_id: str) -> tuple[list[str], Optional[str]]:
37
+ """Resolve an ``auth`` target to its API-key env vars.
38
+
39
+ Accepts a models.dev provider id (``zai-coding-plan`` -> the env
40
+ vars it declares, canonical first) or a raw env var name
41
+ (``ZHIPU_API_KEY``). Returns ``(envs, models_dev_id)``; the id
42
+ is None for the raw-env form. A known provider declaring no env
43
+ vars yields ``([], id)``.
44
+ """
45
+ envs = providers.api_key_envs_for_provider(provider_id)
46
+ if envs is not None:
47
+ return envs, provider_id.strip().lower()
48
+ return [provider_id.strip().upper()], None
49
+
50
+
51
+ def cmd_auth_list(out: Out) -> int:
52
+ status = providers.all_provider_status()
53
+ human = []
54
+ for entry in status.oauth:
55
+ mark = "authenticated" if entry["authenticated"] else "not authenticated"
56
+ human.append(f"{entry['id']}: {mark} [{entry['sandbox_transport']}]")
57
+ for entry in status.api_keys:
58
+ if entry["authenticated"]:
59
+ human.append(f"{entry['env_var']}: set")
60
+ out.result(
61
+ {"oauth": status.oauth, "api_keys": status.api_keys},
62
+ human=human or ["(nothing authenticated)"],
63
+ )
64
+ return 0
65
+
66
+
67
+ def cmd_auth_status(out: Out, provider_id: str) -> int:
68
+ provider = providers.get_oauth_provider(provider_id)
69
+ if provider:
70
+ entry = providers.oauth_status(provider)
71
+ out.result(
72
+ entry,
73
+ human=f"{provider.id}: "
74
+ + ("authenticated" if entry["authenticated"] else "not authenticated")
75
+ + f" (source: {entry['source']})",
76
+ )
77
+ return 0 if entry["authenticated"] else 1
78
+ envs, models_dev_id = _resolve_api_key_envs(provider_id)
79
+ if models_dev_id is None and not providers.is_known_api_key_env(envs[0]):
80
+ raise SetupError(
81
+ f"unknown provider '{provider_id}' (see `setup auth list`)", exit_code=2
82
+ )
83
+ if not envs:
84
+ out.result(
85
+ {
86
+ "provider": models_dev_id,
87
+ "env_var": None,
88
+ "env_vars": {},
89
+ "authenticated": False,
90
+ "kind": "api-key",
91
+ },
92
+ human=f"{models_dev_id}: declares no API-key env var in models.dev",
93
+ )
94
+ return 1
95
+ per_env = {env: providers.credential_present(env) for env in envs}
96
+ present = any(per_env.values())
97
+ result: dict = {
98
+ "env_var": envs[0],
99
+ "env_vars": per_env,
100
+ "authenticated": present,
101
+ "kind": "api-key",
102
+ }
103
+ if models_dev_id:
104
+ result["provider"] = models_dev_id
105
+ detail = ", ".join(
106
+ f"{env} {'set' if is_set else 'not set'}" for env, is_set in per_env.items()
107
+ )
108
+ human = f"{models_dev_id}: {'set' if present else 'not set'} ({detail})"
109
+ else:
110
+ human = f"{envs[0]}: {'set' if present else 'not set'}"
111
+ out.result(result, human=human)
112
+ return 0 if present else 1
113
+
114
+
115
+ def _collect_api_key(env_var: str, from_env: Optional[str], stdin: bool) -> str:
116
+ if stdin:
117
+ value = sys.stdin.read().strip()
118
+ elif from_env:
119
+ value = os.environ.get(from_env, "").strip()
120
+ else:
121
+ value = getpass.getpass(f"Enter {env_var}: ").strip()
122
+ if not value:
123
+ raise SetupError(f"no value provided for {env_var}")
124
+ return value
125
+
126
+
127
+ def cmd_auth_login(
128
+ out: Out, provider_id: str, from_env: Optional[str], stdin: bool
129
+ ) -> int:
130
+ provider = providers.get_oauth_provider(provider_id)
131
+ if provider and provider.login_kind == "slash" and provider.auth_command:
132
+ return _delegate_slash_command(provider.auth_command)
133
+ if provider and provider.env_var:
134
+ env_var, models_dev_id = provider.env_var, None
135
+ else:
136
+ envs, models_dev_id = _resolve_api_key_envs(provider_id)
137
+ if models_dev_id is not None and not envs:
138
+ raise SetupError(
139
+ f"provider '{provider_id}' declares no API-key env var in models.dev",
140
+ exit_code=2,
141
+ )
142
+ env_var = envs[0]
143
+ if models_dev_id is None and not _ENV_NAME_RE.fullmatch(env_var):
144
+ raise SetupError(
145
+ f"unknown provider '{provider_id}' (see `setup auth list`"
146
+ " and `setup model catalog`)",
147
+ exit_code=2,
148
+ )
149
+ value = _collect_api_key(env_var, from_env, stdin)
150
+ from code_puppy.provider_credentials import save_credential
151
+
152
+ save_credential(env_var, value)
153
+ result: dict = {"env_var": env_var, "saved": True}
154
+ suffix = ""
155
+ if models_dev_id:
156
+ result["provider"] = models_dev_id
157
+ suffix = f" (provider {models_dev_id})"
158
+ out.result(result, human=f"saved credential for {env_var}{suffix}")
159
+ return 0
160
+
161
+
162
+ def _clear_stored_credential(env_var: str) -> None:
163
+ from pathlib import Path
164
+
165
+ from code_puppy import config, secret_store, shared_credentials
166
+ from code_puppy.atomic_io import path_lock
167
+ from code_puppy.config_file import mutate_config
168
+
169
+ # Core has no delete-credential API (save() rejects empty values), so
170
+ # mirror shared_credentials.save() in reverse under the same lock:
171
+ # drop the shared-store secret and any legacy puppy.cfg value.
172
+ def _remove_legacy(parser):
173
+ return (
174
+ parser.remove_option(config.DEFAULT_SECTION, env_var)
175
+ if parser.has_section(config.DEFAULT_SECTION)
176
+ else False
177
+ )
178
+
179
+ try:
180
+ with path_lock(str(Path(config.CONFIG_DIR) / "provider_credentials")):
181
+ secret_store.delete_secret(shared_credentials._name(env_var))
182
+ mutate_config(str(config.CONFIG_FILE), _remove_legacy)
183
+ except Exception as e:
184
+ raise SetupError(f"failed to clear stored credential for {env_var}: {e}") from e
185
+ os.environ.pop(env_var, None)
186
+
187
+
188
+ def cmd_auth_logout(out: Out, provider_id: str) -> int:
189
+ provider = providers.get_oauth_provider(provider_id)
190
+ if provider and provider.logout_command:
191
+ return _delegate_slash_command(provider.logout_command)
192
+ if provider and provider.env_var:
193
+ envs, models_dev_id = [provider.env_var], None
194
+ else:
195
+ envs, models_dev_id = _resolve_api_key_envs(provider_id)
196
+ if models_dev_id is not None and not envs:
197
+ raise SetupError(
198
+ f"provider '{provider_id}' declares no API-key env var in models.dev",
199
+ exit_code=2,
200
+ )
201
+ if models_dev_id is None and not _ENV_NAME_RE.fullmatch(envs[0]):
202
+ raise SetupError(
203
+ f"unknown provider '{provider_id}' (see `setup auth list`)", exit_code=2
204
+ )
205
+ for env_var in envs:
206
+ _clear_stored_credential(env_var)
207
+ result: dict = {"env_var": envs[0], "env_vars": envs, "cleared": True}
208
+ if models_dev_id:
209
+ result["provider"] = models_dev_id
210
+ out.result(
211
+ result,
212
+ human=f"cleared stored credential for {', '.join(envs)} "
213
+ "(a shell environment variable of the same name still wins if set)",
214
+ )
215
+ return 0
@@ -92,10 +92,10 @@ def build_parser() -> argparse.ArgumentParser:
92
92
  func=lambda o, a: auth_cmds.cmd_auth_list(o)
93
93
  )
94
94
  s = pa.add_parser("status", parents=[common])
95
- s.add_argument("provider")
95
+ s.add_argument("provider", help="OAuth id, models.dev provider id, or env var")
96
96
  s.set_defaults(func=lambda o, a: auth_cmds.cmd_auth_status(o, a.provider))
97
97
  li = pa.add_parser("login", parents=[common])
98
- li.add_argument("provider")
98
+ li.add_argument("provider", help="OAuth id, models.dev provider id, or env var")
99
99
  li.add_argument(
100
100
  "--from-env", metavar="VAR", help="read an API key from this env var"
101
101
  )
@@ -104,7 +104,7 @@ def build_parser() -> argparse.ArgumentParser:
104
104
  func=lambda o, a: auth_cmds.cmd_auth_login(o, a.provider, a.from_env, a.stdin)
105
105
  )
106
106
  lo = pa.add_parser("logout", parents=[common])
107
- lo.add_argument("provider")
107
+ lo.add_argument("provider", help="OAuth id, models.dev provider id, or env var")
108
108
  lo.set_defaults(func=lambda o, a: auth_cmds.cmd_auth_logout(o, a.provider))
109
109
 
110
110
  p = sub.add_parser("mcp", parents=[common], help="MCP servers")
@@ -226,7 +226,12 @@ def build_parser() -> argparse.ArgumentParser:
226
226
  help="derive sandbox credentials/egress from configured models",
227
227
  )
228
228
  plan_p.add_argument("--provider", help="restrict to one service/provider id")
229
- plan_p.set_defaults(func=lambda o, a: sbx_plan.cmd_sbx_plan(o, a.provider))
229
+ plan_p.add_argument(
230
+ "--prune",
231
+ action="store_true",
232
+ help="remove stored sbx secrets the current catalog no longer needs",
233
+ )
234
+ plan_p.set_defaults(func=lambda o, a: sbx_plan.cmd_sbx_plan(o, a.provider, a.prune))
230
235
  creds_p = psbx.add_parser(
231
236
  "creds-mixin",
232
237
  parents=[common],
@@ -160,6 +160,31 @@ def _models_dev_env_vars() -> frozenset:
160
160
  return frozenset()
161
161
 
162
162
 
163
+ def _models_dev_providers() -> dict[str, list[str]]:
164
+ """models.dev provider id -> declared API-key env vars (best effort)."""
165
+ try:
166
+ from code_puppy.models_dev_parser import ModelsDevRegistry
167
+
168
+ providers_map = ModelsDevRegistry().get_providers()
169
+ values = (
170
+ providers_map.values() if isinstance(providers_map, dict) else providers_map
171
+ )
172
+ return {p.id: list(p.env or []) for p in values if getattr(p, "id", None)}
173
+ except Exception:
174
+ return {}
175
+
176
+
177
+ def api_key_envs_for_provider(provider_id: str) -> Optional[list[str]]:
178
+ """Env vars a models.dev provider declares; None if the id is unknown.
179
+
180
+ ``env[0]`` is canonical: it is the name ``setup model add``
181
+ encodes into generated model configs, so a login by provider id
182
+ stores the key exactly where those models will look for it.
183
+ """
184
+ envs = _models_dev_providers().get(provider_id.strip().lower())
185
+ return list(envs) if envs is not None else None
186
+
187
+
163
188
  def is_known_api_key_env(env_var: str) -> bool:
164
189
  """Known via the curated lists OR declared by a models.dev provider."""
165
190
  return env_var in api_key_env_vars() or env_var in _models_dev_env_vars()
@@ -16,11 +16,12 @@ Values are never read or emitted — only presence on the host.
16
16
  from __future__ import annotations
17
17
 
18
18
  import re
19
+ import subprocess
19
20
  from typing import Any, Optional
20
21
  from urllib.parse import urlparse
21
22
 
22
23
  from . import providers
23
- from .output import Out
24
+ from .output import Out, SetupError
24
25
 
25
26
  # Static-key model types: type -> (service, env var, domain, header, format)
26
27
  _STATIC_TYPES: dict[str, tuple[str, str, str, str, str]] = {
@@ -279,10 +280,95 @@ def render_human(plan: dict[str, Any]) -> list[str]:
279
280
  return lines
280
281
 
281
282
 
282
- def cmd_sbx_plan(out: Out, provider: Optional[str] = None) -> int:
283
+ def _parse_secret_ls(stdout: str) -> list[str]:
284
+ """Global service-secret names from `sbx secret ls` table output."""
285
+ names = []
286
+ for line in stdout.splitlines():
287
+ cols = line.split()
288
+ if len(cols) >= 3 and cols[0] == "(global)" and cols[1] == "service":
289
+ names.append(cols[2])
290
+ return sorted(set(names))
291
+
292
+
293
+ def _stored_sbx_secrets() -> Optional[list[str]]:
294
+ """Stored global sbx service secrets; None when sbx is unavailable."""
295
+ try:
296
+ result = subprocess.run(
297
+ ["sbx", "secret", "ls"],
298
+ capture_output=True,
299
+ text=True,
300
+ check=False,
301
+ timeout=30,
302
+ )
303
+ except (OSError, subprocess.SubprocessError):
304
+ return None
305
+ if result.returncode != 0:
306
+ return None
307
+ return _parse_secret_ls(result.stdout)
308
+
309
+
310
+ def _remove_sbx_secret(name: str) -> Optional[str]:
311
+ """Remove one global sbx secret; None on success, else an error line."""
312
+ try:
313
+ result = subprocess.run(
314
+ ["sbx", "secret", "rm", name, "-f"],
315
+ capture_output=True,
316
+ text=True,
317
+ check=False,
318
+ timeout=30,
319
+ )
320
+ except (OSError, subprocess.SubprocessError) as e:
321
+ return str(e)
322
+ if result.returncode != 0:
323
+ return (result.stderr or result.stdout).strip()[
324
+ :200
325
+ ] or f"exit {result.returncode}"
326
+ return None
327
+
328
+
329
+ def cmd_sbx_plan(out: Out, provider: Optional[str] = None, prune: bool = False) -> int:
330
+ if prune and provider:
331
+ raise SetupError(
332
+ "refusing --prune with --provider: a filtered plan would "
333
+ "delete secrets other providers still need",
334
+ exit_code=2,
335
+ )
283
336
  plan = build_plan(provider=provider)
284
- out.result(plan, human=render_human(plan))
285
- return 0
337
+ stored = _stored_sbx_secrets()
338
+ needed = {c["service"] for c in plan["credentials"]}
339
+ stale = (
340
+ [name for name in stored if name not in needed]
341
+ if stored is not None and not provider
342
+ else []
343
+ )
344
+ human = render_human(plan)
345
+ pruned: list[str] = []
346
+ errors: dict[str, str] = {}
347
+ if prune:
348
+ for name in stale:
349
+ error = _remove_sbx_secret(name)
350
+ if error is None:
351
+ pruned.append(name)
352
+ human.append(f"pruned stale sbx secret '{name}'")
353
+ else:
354
+ errors[name] = error
355
+ human.append(f"failed to prune sbx secret '{name}': {error}")
356
+ stale = [name for name in stale if name not in pruned]
357
+ elif stale:
358
+ human.append(
359
+ "stale sbx secrets (not needed by current catalog): "
360
+ + ", ".join(stale)
361
+ + " - re-run with --prune to remove"
362
+ )
363
+ result: dict[str, Any] = {
364
+ **plan,
365
+ "stale_sbx_secrets": stale,
366
+ "pruned_sbx_secrets": pruned,
367
+ }
368
+ if errors:
369
+ result["prune_errors"] = errors
370
+ out.result(result, human=human)
371
+ return 1 if errors else 0
286
372
 
287
373
 
288
374
  def render_creds_mixin(plan: dict[str, Any]) -> str:
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "code-puppy-core-plugins"
7
- version = "0.0.97"
7
+ version = "0.0.99"
8
8
  description = "Official plugin bundle for Code Puppy"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11,<3.15"
@@ -83,6 +83,7 @@ destructive_command_guard = "code_puppy_core_plugins.destructive_command_guard.r
83
83
  emoji_filter = "code_puppy_core_plugins.emoji_filter.register_callbacks"
84
84
  empty_html_comment_filter = "code_puppy_core_plugins.empty_html_comment_filter.register_callbacks"
85
85
  example_custom_command = "code_puppy_core_plugins.example_custom_command.register_callbacks"
86
+ execution_environment = "code_puppy_core_plugins.execution_environment.register_callbacks"
86
87
  file_permission_handler = "code_puppy_core_plugins.file_permission_handler.register_callbacks"
87
88
  flux_bootstrap = "code_puppy_core_plugins.flux_bootstrap.register_callbacks"
88
89
  force_push_guard = "code_puppy_core_plugins.force_push_guard.register_callbacks"
@@ -1,124 +0,0 @@
1
- """``setup auth`` — one front door for every provider login Code Puppy has.
2
-
3
- OAuth logins are *delegated* to the owning plugin's existing interactive
4
- command in a full Code Puppy subprocess (``code-puppy -p "/x-auth"``):
5
- those flows print through the messaging system and may open browsers or
6
- localhost callbacks, none of which exist yet in the ``handle_cli_args``
7
- context this CLI runs in. Status/logout reads go through the plugins'
8
- own loaders with structured results. API keys are collected directly
9
- (hidden prompt, stdin, or environment) into the shared credential
10
- store and never echoed.
11
- """
12
-
13
- from __future__ import annotations
14
-
15
- import getpass
16
- import os
17
- import shutil
18
- import subprocess
19
- import sys
20
- from typing import Optional
21
-
22
- from . import providers
23
- from .output import Out, SetupError
24
-
25
-
26
- def _delegate_slash_command(command: str) -> int:
27
- exe = shutil.which("code-puppy") or sys.argv[0]
28
- print(f'launching: code-puppy -p "/{command}" (interactive provider flow)')
29
- return subprocess.call([exe, "-p", f"/{command}"])
30
-
31
-
32
- def cmd_auth_list(out: Out) -> int:
33
- status = providers.all_provider_status()
34
- human = []
35
- for entry in status.oauth:
36
- mark = "authenticated" if entry["authenticated"] else "not authenticated"
37
- human.append(f"{entry['id']}: {mark} [{entry['sandbox_transport']}]")
38
- for entry in status.api_keys:
39
- if entry["authenticated"]:
40
- human.append(f"{entry['env_var']}: set")
41
- out.result(
42
- {"oauth": status.oauth, "api_keys": status.api_keys},
43
- human=human or ["(nothing authenticated)"],
44
- )
45
- return 0
46
-
47
-
48
- def cmd_auth_status(out: Out, provider_id: str) -> int:
49
- provider = providers.get_oauth_provider(provider_id)
50
- if provider:
51
- entry = providers.oauth_status(provider)
52
- out.result(
53
- entry,
54
- human=f"{provider.id}: "
55
- + ("authenticated" if entry["authenticated"] else "not authenticated")
56
- + f" (source: {entry['source']})",
57
- )
58
- return 0 if entry["authenticated"] else 1
59
- env_var = provider_id.strip().upper()
60
- if providers.is_known_api_key_env(env_var):
61
- present = providers.credential_present(env_var)
62
- out.result(
63
- {"env_var": env_var, "authenticated": present, "kind": "api-key"},
64
- human=f"{env_var}: {'set' if present else 'not set'}",
65
- )
66
- return 0 if present else 1
67
- raise SetupError(
68
- f"unknown provider '{provider_id}' (see `setup auth list`)", exit_code=2
69
- )
70
-
71
-
72
- def _collect_api_key(env_var: str, from_env: Optional[str], stdin: bool) -> str:
73
- if stdin:
74
- value = sys.stdin.read().strip()
75
- elif from_env:
76
- value = os.environ.get(from_env, "").strip()
77
- else:
78
- value = getpass.getpass(f"Enter {env_var}: ").strip()
79
- if not value:
80
- raise SetupError(f"no value provided for {env_var}")
81
- return value
82
-
83
-
84
- def cmd_auth_login(
85
- out: Out, provider_id: str, from_env: Optional[str], stdin: bool
86
- ) -> int:
87
- provider = providers.get_oauth_provider(provider_id)
88
- if provider and provider.login_kind == "slash" and provider.auth_command:
89
- return _delegate_slash_command(provider.auth_command)
90
- env_var = (
91
- provider.env_var
92
- if provider and provider.env_var
93
- else provider_id.strip().upper()
94
- )
95
- if not env_var:
96
- raise SetupError(f"provider '{provider_id}' has no API-key login", exit_code=2)
97
- value = _collect_api_key(env_var, from_env, stdin)
98
- from code_puppy.provider_credentials import save_credential
99
-
100
- save_credential(env_var, value)
101
- out.result(
102
- {"env_var": env_var, "saved": True}, human=f"saved credential for {env_var}"
103
- )
104
- return 0
105
-
106
-
107
- def cmd_auth_logout(out: Out, provider_id: str) -> int:
108
- provider = providers.get_oauth_provider(provider_id)
109
- if provider and provider.logout_command:
110
- return _delegate_slash_command(provider.logout_command)
111
- env_var = (
112
- provider.env_var
113
- if provider and provider.env_var
114
- else provider_id.strip().upper()
115
- )
116
- from code_puppy.provider_credentials import save_credential
117
-
118
- save_credential(env_var, "")
119
- out.result(
120
- {"env_var": env_var, "cleared": True},
121
- human=f"cleared stored credential for {env_var} "
122
- "(a shell environment variable of the same name still wins if set)",
123
- )
124
- return 0