code-puppy-core-plugins 0.0.103__tar.gz → 0.0.105__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (609) hide show
  1. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/PKG-INFO +18 -1
  2. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/README.md +15 -0
  3. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/README.md +130 -1
  4. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/agent.py +23 -2
  5. code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/acp/auth_status.py +148 -0
  6. code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/acp/themes.py +99 -0
  7. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/attachment_references/tool.py +2 -0
  8. code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/__init__.py +1 -0
  9. code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/instrumentation.py +126 -0
  10. code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/legacy_core.py +39 -0
  11. code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/register_callbacks.py +67 -0
  12. code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/logfire_instrumentation/sdk.py +25 -0
  13. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/oauth.py +0 -1
  14. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/register_callbacks.py +13 -19
  15. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/register_callbacks.py +13 -0
  16. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/README.md +36 -0
  17. code_puppy_core_plugins-0.0.105/code_puppy_core_plugins/theme/catalog.py +183 -0
  18. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/register_callbacks.py +6 -5
  19. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/pyproject.toml +6 -1
  20. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/.gitignore +0 -0
  21. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/LICENSE +0 -0
  22. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/THIRD_PARTY_NOTICES.md +0 -0
  23. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/__init__.py +0 -0
  24. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/__init__.py +0 -0
  25. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/bridge.py +0 -0
  26. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/capabilities.py +0 -0
  27. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/commands.py +0 -0
  28. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/content.py +0 -0
  29. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/io_delegation.py +0 -0
  30. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/mcp_config.py +0 -0
  31. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/permissions.py +0 -0
  32. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/persistence.py +0 -0
  33. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/register_callbacks.py +0 -0
  34. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/replay.py +0 -0
  35. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/session.py +0 -0
  36. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/session_config.py +0 -0
  37. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/acp/state.py +0 -0
  38. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_creator_skill/SKILL.md +0 -0
  39. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_creator_skill/__init__.py +0 -0
  40. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_creator_skill/register_callbacks.py +0 -0
  41. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/__init__.py +0 -0
  42. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/config.py +0 -0
  43. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/discovery.py +0 -0
  44. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/enabled_skills.py +0 -0
  45. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/metadata.py +0 -0
  46. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/prompt_builder.py +0 -0
  47. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/provider.py +0 -0
  48. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/register_callbacks.py +0 -0
  49. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/skill_commands.py +0 -0
  50. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/agent_skills/skills_menu.py +0 -0
  51. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/attachment_references/__init__.py +0 -0
  52. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/attachment_references/register_callbacks.py +0 -0
  53. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/auto_continue/__init__.py +0 -0
  54. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/auto_continue/classifier.py +0 -0
  55. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/auto_continue/register_callbacks.py +0 -0
  56. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/__init__.py +0 -0
  57. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/config.py +0 -0
  58. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/register_callbacks.py +0 -0
  59. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/aws_bedrock/utils.py +0 -0
  60. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/README.md +0 -0
  61. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/__init__.py +0 -0
  62. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/config.py +0 -0
  63. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/discovery.py +0 -0
  64. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/register_callbacks.py +0 -0
  65. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/token.py +0 -0
  66. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/azure_foundry/utils.py +0 -0
  67. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/background_agents/README.md +0 -0
  68. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/background_agents/__init__.py +0 -0
  69. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/background_agents/register_callbacks.py +0 -0
  70. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/__init__.py +0 -0
  71. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/inline_view.py +0 -0
  72. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/register_callbacks.py +0 -0
  73. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/btw/side_query.py +0 -0
  74. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/IMAGEGEN_SKILL.md +0 -0
  75. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/__init__.py +0 -0
  76. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/config.py +0 -0
  77. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/image_generation.py +0 -0
  78. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/image_tool.py +0 -0
  79. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/model_catalog.py +0 -0
  80. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/oauth_flow.py +0 -0
  81. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/register_callbacks.py +0 -0
  82. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/test_plugin.py +0 -0
  83. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/usage.py +0 -0
  84. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/chatgpt_oauth/utils.py +0 -0
  85. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/__init__.py +0 -0
  86. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/config.py +0 -0
  87. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/register_callbacks.py +0 -0
  88. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_hooks/trust.py +0 -0
  89. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/README.md +0 -0
  90. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/SETUP.md +0 -0
  91. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/__init__.py +0 -0
  92. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/config.py +0 -0
  93. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/fast_mode.py +0 -0
  94. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/model_filter.py +0 -0
  95. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/model_provider.py +0 -0
  96. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/prompt_handler.py +0 -0
  97. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/register_callbacks.py +0 -0
  98. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/runtime_credentials.py +0 -0
  99. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/test_plugin.py +0 -0
  100. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
  101. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/token_store.py +0 -0
  102. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/claude_code_oauth/utils.py +0 -0
  103. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/AGENTS_AND_TOOLS.md +0 -0
  104. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/MODELS_AND_MCP.md +0 -0
  105. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/PLUGINS_AND_CALLBACKS.md +0 -0
  106. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/SESSIONS_AND_HISTORY.md +0 -0
  107. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/SKILL.md +0 -0
  108. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/SKILLS_SYSTEM.md +0 -0
  109. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/SYSTEM_PROMPT_CONFIG_AND_I18N.md +0 -0
  110. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/__init__.py +0 -0
  111. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/code_puppy_agent/register_callbacks.py +0 -0
  112. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/__init__.py +0 -0
  113. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/config.py +0 -0
  114. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/locales/en-US.json +0 -0
  115. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/locales/es.json +0 -0
  116. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/locales/fr-CA.json +0 -0
  117. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/notifier.py +0 -0
  118. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/completion_notification/register_callbacks.py +0 -0
  119. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/FOCUS_INVESTIGATION.md +0 -0
  120. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/NativeCapture.swift +0 -0
  121. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/PARITY.md +0 -0
  122. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/README.md +0 -0
  123. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/WINDOWS.md +0 -0
  124. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/__init__.py +0 -0
  125. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/accessibility.py +0 -0
  126. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/activation.py +0 -0
  127. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/backend.py +0 -0
  128. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/backend_types.py +0 -0
  129. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/batch.py +0 -0
  130. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/capture.py +0 -0
  131. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/commands.py +0 -0
  132. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/geometry.py +0 -0
  133. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/inline_image.py +0 -0
  134. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/keycodes.py +0 -0
  135. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/locales/en-US.json +0 -0
  136. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/locales/es.json +0 -0
  137. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/locales/fr-CA.json +0 -0
  138. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/macos_backend.py +0 -0
  139. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/permissions.py +0 -0
  140. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/policy.py +0 -0
  141. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/register_callbacks.py +0 -0
  142. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/safety.py +0 -0
  143. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/settle.py +0 -0
  144. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/state.py +0 -0
  145. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/tools.py +0 -0
  146. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_accessibility.py +0 -0
  147. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_activation.py +0 -0
  148. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_backend.py +0 -0
  149. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_capture.py +0 -0
  150. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_input.py +0 -0
  151. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_native.py +0 -0
  152. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/computer_use/windows_runtime.py +0 -0
  153. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/context_indicator/__init__.py +0 -0
  154. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/context_indicator/register_callbacks.py +0 -0
  155. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/context_indicator/usage.py +0 -0
  156. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/__init__.py +0 -0
  157. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/config.py +0 -0
  158. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/reasoning_client.py +0 -0
  159. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/register_callbacks.py +0 -0
  160. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/responses_stream.py +0 -0
  161. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/copilot_auth/utils.py +0 -0
  162. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/customizable_commands/__init__.py +0 -0
  163. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/customizable_commands/register_callbacks.py +0 -0
  164. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/__init__.py +0 -0
  165. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/cancel.py +0 -0
  166. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/commands.py +0 -0
  167. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/config.py +0 -0
  168. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/lifecycle.py +0 -0
  169. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/register_callbacks.py +0 -0
  170. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/runtime.py +0 -0
  171. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/startup_lock.py +0 -0
  172. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/workflow_ids.py +0 -0
  173. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/dbos_durable_exec/wrapper.py +0 -0
  174. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/AGENTS.md +0 -0
  175. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/__init__.py +0 -0
  176. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/detector.py +0 -0
  177. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/destructive_command_guard/register_callbacks.py +0 -0
  178. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/__init__.py +0 -0
  179. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/config.py +0 -0
  180. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/register_callbacks.py +0 -0
  181. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/emoji_filter/stripper.py +0 -0
  182. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/empty_html_comment_filter/register_callbacks.py +0 -0
  183. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/example_custom_command/README.md +0 -0
  184. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/example_custom_command/register_callbacks.py +0 -0
  185. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/execution_environment/README.md +0 -0
  186. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/execution_environment/__init__.py +0 -0
  187. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/execution_environment/register_callbacks.py +0 -0
  188. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/file_permission_handler/__init__.py +0 -0
  189. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/file_permission_handler/register_callbacks.py +0 -0
  190. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/__init__.py +0 -0
  191. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/README.md +0 -0
  192. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/cheatsheet.md +0 -0
  193. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/pipeline.md +0 -0
  194. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/synopsis.md +0 -0
  195. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/about.md +0 -0
  196. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/address-feedback.md +0 -0
  197. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/ask.md +0 -0
  198. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/aug.md +0 -0
  199. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/auto-pilot.md +0 -0
  200. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/cheatsheet.md +0 -0
  201. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/commit.md +0 -0
  202. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/config.md +0 -0
  203. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/create-pr.md +0 -0
  204. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/exec.md +0 -0
  205. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/new.md +0 -0
  206. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/qa.md +0 -0
  207. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/rebase.md +0 -0
  208. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/review.md +0 -0
  209. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/split.md +0 -0
  210. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/squash-commits.md +0 -0
  211. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/status.md +0 -0
  212. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/tests.md +0 -0
  213. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_about.py +0 -0
  214. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_cheatsheet.py +0 -0
  215. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_status.py +0 -0
  216. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/installer.py +0 -0
  217. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/flux_bootstrap/register_callbacks.py +0 -0
  218. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/force_push_guard/__init__.py +0 -0
  219. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/force_push_guard/detector.py +0 -0
  220. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/force_push_guard/register_callbacks.py +0 -0
  221. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/fork/__init__.py +0 -0
  222. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/fork/register_callbacks.py +0 -0
  223. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/__init__.py +0 -0
  224. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/emitter.py +0 -0
  225. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/register_callbacks.py +0 -0
  226. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/frontend_emitter/session_context.py +0 -0
  227. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/__init__.py +0 -0
  228. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/config.py +0 -0
  229. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/oauth_flow.py +0 -0
  230. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/register_callbacks.py +0 -0
  231. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/grok_oauth/utils.py +0 -0
  232. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/README.md +0 -0
  233. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/SKILL.md +0 -0
  234. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/__init__.py +0 -0
  235. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/client.py +0 -0
  236. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/command_intent.py +0 -0
  237. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/launch_command.py +0 -0
  238. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/launcher.py +0 -0
  239. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/register_callbacks.py +0 -0
  240. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/reporter.py +0 -0
  241. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/restore.py +0 -0
  242. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/smoke.py +0 -0
  243. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/herdr/sources.py +0 -0
  244. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_creator/__init__.py +0 -0
  245. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_creator/register_callbacks.py +0 -0
  246. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/__init__.py +0 -0
  247. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/config.py +0 -0
  248. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/hooks_menu.py +0 -0
  249. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/register_callbacks.py +0 -0
  250. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/hook_manager/trust_handler.py +0 -0
  251. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/__init__.py +0 -0
  252. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/chunks.py +0 -0
  253. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/config.py +0 -0
  254. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/judge.py +0 -0
  255. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/register_callbacks.py +0 -0
  256. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/retrieve.py +0 -0
  257. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/search.py +0 -0
  258. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/structure.py +0 -0
  259. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/tool.py +0 -0
  260. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/jev_grep/treesitter.py +0 -0
  261. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/__init__.py +0 -0
  262. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_oauth/query_tool.py +0 -0
  263. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/__init__.py +0 -0
  264. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/mirror.py +0 -0
  265. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/query.py +0 -0
  266. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/logfire_sessions/sync.py +0 -0
  267. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/README.md +0 -0
  268. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/__init__.py +0 -0
  269. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/custom_install.py +0 -0
  270. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/http_form.py +0 -0
  271. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/mcp_binding_prompt/register_callbacks.py +0 -0
  272. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/__init__.py +0 -0
  273. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/config.py +0 -0
  274. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/locales/en-US.json +0 -0
  275. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/oauth_flow.py +0 -0
  276. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/plan.py +0 -0
  277. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/register_callbacks.py +0 -0
  278. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/meta_oauth/utils.py +0 -0
  279. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/README.md +0 -0
  280. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/__init__.py +0 -0
  281. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/namespaces.py +0 -0
  282. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/register_callbacks.py +0 -0
  283. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/namespace_skill_search/search_tool.py +0 -0
  284. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/no_tools/__init__.py +0 -0
  285. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/no_tools/register_callbacks.py +0 -0
  286. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/oauth_pasteback.py +0 -0
  287. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/oauth_puppy_html.py +0 -0
  288. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/README.md +0 -0
  289. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/__init__.py +0 -0
  290. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/agent_obsidian.py +0 -0
  291. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/obsidian_agent/register_callbacks.py +0 -0
  292. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama/__init__.py +0 -0
  293. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama/register_callbacks.py +0 -0
  294. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama_setup/__init__.py +0 -0
  295. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama_setup/completer.py +0 -0
  296. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/ollama_setup/register_callbacks.py +0 -0
  297. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/__init__.py +0 -0
  298. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/config.py +0 -0
  299. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/oauth_flow.py +0 -0
  300. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/register_callbacks.py +0 -0
  301. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/openrouter_oauth/test_plugin.py +0 -0
  302. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/__init__.py +0 -0
  303. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugin_contributions.py +0 -0
  304. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugin_meta.py +0 -0
  305. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugin_text_utils.py +0 -0
  306. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugins_menu.py +0 -0
  307. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/plugins_menu_render.py +0 -0
  308. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/project_trust_flow.py +0 -0
  309. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_list/register_callbacks.py +0 -0
  310. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/plugin_settings.py +0 -0
  311. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pop_command/__init__.py +0 -0
  312. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pop_command/register_callbacks.py +0 -0
  313. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/README.md +0 -0
  314. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/__init__.py +0 -0
  315. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/config.py +0 -0
  316. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/locales/en-US.json +0 -0
  317. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/menu.py +0 -0
  318. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/profiles/register_callbacks.py +0 -0
  319. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prompt_newline/__init__.py +0 -0
  320. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prompt_newline/config.py +0 -0
  321. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prompt_newline/register_callbacks.py +0 -0
  322. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/__init__.py +0 -0
  323. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/prune_menu.py +0 -0
  324. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/prune_model.py +0 -0
  325. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/prune_render.py +0 -0
  326. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/prune/register_callbacks.py +0 -0
  327. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/README.md +0 -0
  328. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/__init__.py +0 -0
  329. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/adapter.py +0 -0
  330. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/agents.py +0 -0
  331. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/catalog.py +0 -0
  332. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/commands.py +0 -0
  333. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/config.py +0 -0
  334. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/prompt.py +0 -0
  335. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/register_callbacks.py +0 -0
  336. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/skill_validator.py +0 -0
  337. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/skills/create-skill/SKILL.md +0 -0
  338. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/upstream.py +0 -0
  339. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/UPSTREAM.json +0 -0
  340. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/LICENSE +0 -0
  341. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/skills/control-cli/SKILL.md +0 -0
  342. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/skills/control-ui/SKILL.md +0 -0
  343. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/cursor-team-kit/skills/deslop/SKILL.md +0 -0
  344. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/LICENSE +0 -0
  345. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/README.md +0 -0
  346. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/agents/comment-sicko.md +0 -0
  347. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/agents/poteto-agent.md +0 -0
  348. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/FOR_AGENTS.md +0 -0
  349. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/README.md +0 -0
  350. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/SKILL.md +0 -0
  351. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/references/control-adapter.md +0 -0
  352. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/references/feature-map.example.md +0 -0
  353. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/reproduce-and-fix-issues/references/verify-existing-fix.md +0 -0
  354. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/setup-benny/SKILL.md +0 -0
  355. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/triage-issue-reports/SKILL.md +0 -0
  356. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/skills/triage-issue-reports/references/routing.example.md +0 -0
  357. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/templates/configuration.example.yaml +0 -0
  358. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/templates/reproduce-automation-prompt.md +0 -0
  359. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/automations/benny/templates/triage-automation-prompt.md +0 -0
  360. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/01-setup.md +0 -0
  361. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/02-poteto-mode.md +0 -0
  362. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/03-understand.md +0 -0
  363. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/04-design.md +0 -0
  364. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/05-build-and-clean.md +0 -0
  365. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/06-verify-and-ship.md +0 -0
  366. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/07-overnight.md +0 -0
  367. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/08-principles.md +0 -0
  368. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/09-make-it-yours.md +0 -0
  369. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/10-recipes-and-pitfalls.md +0 -0
  370. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/docs/guide/README.md +0 -0
  371. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/plugin.json +0 -0
  372. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/SKILL.md +0 -0
  373. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/references/design-red-flags.md +0 -0
  374. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/references/rationale-template.md +0 -0
  375. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/architect/references/runner-prompt.md +0 -0
  376. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/arena/SKILL.md +0 -0
  377. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/automate-me/SKILL.md +0 -0
  378. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/benchmark-checklist/SKILL.md +0 -0
  379. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/blast-radius/SKILL.md +0 -0
  380. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/bro/SKILL.md +0 -0
  381. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/correct/SKILL.md +0 -0
  382. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/SKILL.md +0 -0
  383. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/references/feature-map-example/README.md +0 -0
  384. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/references/feature-map-example/create-note.md +0 -0
  385. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/create-verification-skill/references/feature-map-example/search.md +0 -0
  386. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/figure-it-out/SKILL.md +0 -0
  387. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/how/SKILL.md +0 -0
  388. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/how/references/explainer-prompt.md +0 -0
  389. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/how/references/explorer-prompt.md +0 -0
  390. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/in-your-own-words/SKILL.md +0 -0
  391. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/SKILL.md +0 -0
  392. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/code-quality-review.md +0 -0
  393. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/lead-judgment.md +0 -0
  394. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/reviewer-prompt.md +0 -0
  395. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/interrogate/references/rubric.md +0 -0
  396. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/ketchup/SKILL.md +0 -0
  397. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/maintain-verification-skill/SKILL.md +0 -0
  398. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/make-bot-ui/SKILL.md +0 -0
  399. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/no-comments/SKILL.md +0 -0
  400. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-help/SKILL.md +0 -0
  401. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-help/references/prompting.md +0 -0
  402. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-help/references/recipes.md +0 -0
  403. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/SKILL.md +0 -0
  404. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/authoring-a-skill.md +0 -0
  405. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/autonomous-run.md +0 -0
  406. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/autopilot-full.md +0 -0
  407. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/autopilot-stack.md +0 -0
  408. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/babysit.md +0 -0
  409. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/bug-fix.md +0 -0
  410. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/eval.md +0 -0
  411. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/feature.md +0 -0
  412. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/hillclimb.md +0 -0
  413. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/investigation.md +0 -0
  414. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/multi-phase-plan.md +0 -0
  415. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/opening-a-pr.md +0 -0
  416. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/orchestrate.md +0 -0
  417. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/pause-safely.md +0 -0
  418. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/perf-issue.md +0 -0
  419. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/prototype.md +0 -0
  420. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/refactoring.md +0 -0
  421. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/runtime-forensics.md +0 -0
  422. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/session-pickup.md +0 -0
  423. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/shipping.md +0 -0
  424. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/trace-forensics.md +0 -0
  425. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/visual-parity.md +0 -0
  426. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/playbooks/worktree-cleanup.md +0 -0
  427. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/references/bugbot-triage.md +0 -0
  428. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/bootstrap.ts +0 -0
  429. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/bun.lock +0 -0
  430. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/check-plan.mjs +0 -0
  431. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/check-plan.test.ts +0 -0
  432. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/orch/orch.test.ts +0 -0
  433. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/orch/orch.ts +0 -0
  434. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/orch/store.ts +0 -0
  435. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/package.json +0 -0
  436. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/cli.test.ts +0 -0
  437. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/cli.ts +0 -0
  438. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +0 -0
  439. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/github.test.ts +0 -0
  440. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/github.ts +0 -0
  441. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/policy.test.ts +0 -0
  442. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/policy.ts +0 -0
  443. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/render.ts +0 -0
  444. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/tsconfig.json +0 -0
  445. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/types.compile.ts +0 -0
  446. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/types.ts +0 -0
  447. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/watch-pr/watch-pr +0 -0
  448. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/poteto-mode/scripts/worktree-audit.sh +0 -0
  449. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-attack-the-premise/SKILL.md +0 -0
  450. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-boundary-discipline/SKILL.md +0 -0
  451. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-build-the-lever/SKILL.md +0 -0
  452. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-encode-lessons-in-structure/SKILL.md +0 -0
  453. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-exhaust-the-design-space/SKILL.md +0 -0
  454. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-experience-first/SKILL.md +0 -0
  455. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-explain-the-number/SKILL.md +0 -0
  456. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-fix-root-causes/SKILL.md +0 -0
  457. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-foundational-thinking/SKILL.md +0 -0
  458. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-guard-the-context-window/SKILL.md +0 -0
  459. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-laziness-protocol/SKILL.md +0 -0
  460. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-make-operations-idempotent/SKILL.md +0 -0
  461. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +0 -0
  462. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-minimize-reader-load/SKILL.md +0 -0
  463. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-model-the-domain/SKILL.md +0 -0
  464. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-never-block-on-the-human/SKILL.md +0 -0
  465. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-outcome-oriented-execution/SKILL.md +0 -0
  466. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-prove-it-works/SKILL.md +0 -0
  467. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-redesign-from-first-principles/SKILL.md +0 -0
  468. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-separate-before-serializing-shared-state/SKILL.md +0 -0
  469. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-sequence-verifiable-units/SKILL.md +0 -0
  470. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-subtract-before-you-add/SKILL.md +0 -0
  471. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-test-behavior-not-implementation/SKILL.md +0 -0
  472. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/principle-type-system-discipline/SKILL.md +0 -0
  473. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/recall/SKILL.md +0 -0
  474. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/SKILL.md +0 -0
  475. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/divergent-reviewer.md +0 -0
  476. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/judgment-reviewer.md +0 -0
  477. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/synthesizer.md +0 -0
  478. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/reflect/references/tooling-reviewer.md +0 -0
  479. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/setup-pstack/SKILL.md +0 -0
  480. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/show-me-your-work/SKILL.md +0 -0
  481. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/show-me-your-work/references/decision-log-template.tsv +0 -0
  482. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/show-me-your-work/scripts/log.sh +0 -0
  483. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/swarm/SKILL.md +0 -0
  484. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/tdd/SKILL.md +0 -0
  485. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/teach/SKILL.md +0 -0
  486. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/technical-writing/SKILL.md +0 -0
  487. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/typescript-best-practices/SKILL.md +0 -0
  488. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/typescript-best-practices/references/patterns.md +0 -0
  489. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/unslop/SKILL.md +0 -0
  490. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/SKILL.md +0 -0
  491. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/epistemics.md +0 -0
  492. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/investigator-prompt.md +0 -0
  493. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/source-playbook.md +0 -0
  494. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/code-archaeology.md +0 -0
  495. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/databricks.md +0 -0
  496. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/datadog.md +0 -0
  497. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/incident-postmortem.md +0 -0
  498. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/linear.md +0 -0
  499. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/notion.md +0 -0
  500. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/sentry.md +0 -0
  501. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/sources/slack.md +0 -0
  502. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/pstack/vendor/pstack/skills/why/references/synthesizer-prompt.md +0 -0
  503. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/README.md +0 -0
  504. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/__init__.py +0 -0
  505. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/commands.py +0 -0
  506. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/config.py +0 -0
  507. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/kennel.py +0 -0
  508. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/packer.py +0 -0
  509. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/recorder.py +0 -0
  510. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/register_callbacks.py +0 -0
  511. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/retriever.py +0 -0
  512. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/schema.py +0 -0
  513. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/state.py +0 -0
  514. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/tools.py +0 -0
  515. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_kennel/wings.py +0 -0
  516. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/README.md +0 -0
  517. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/__init__.py +0 -0
  518. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/builtin_frames.py +0 -0
  519. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/commands.py +0 -0
  520. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/picker.py +0 -0
  521. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/register_callbacks.py +0 -0
  522. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/puppy_spinner/spinners.py +0 -0
  523. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/qa_kitten_skill/SKILL.md +0 -0
  524. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/qa_kitten_skill/__init__.py +0 -0
  525. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/qa_kitten_skill/register_callbacks.py +0 -0
  526. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/quick_resume/__init__.py +0 -0
  527. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/quick_resume/register_callbacks.py +0 -0
  528. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/__init__.py +0 -0
  529. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/locales/en-US.json +0 -0
  530. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/locales/es.json +0 -0
  531. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/locales/fr-CA.json +0 -0
  532. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/resume_hint/register_callbacks.py +0 -0
  533. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/review_pr/__init__.py +0 -0
  534. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/review_pr/register_callbacks.py +0 -0
  535. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/session_namer/__init__.py +0 -0
  536. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/session_namer/namer.py +0 -0
  537. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/session_namer/register_callbacks.py +0 -0
  538. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/README.md +0 -0
  539. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/__init__.py +0 -0
  540. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/agent_cmds.py +0 -0
  541. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/auth_cmds.py +0 -0
  542. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/cli.py +0 -0
  543. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/config_cmds.py +0 -0
  544. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/doctor.py +0 -0
  545. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/export_cmds.py +0 -0
  546. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/mcp_cmds.py +0 -0
  547. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/model_cmds.py +0 -0
  548. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/output.py +0 -0
  549. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/plugin_cmds.py +0 -0
  550. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/providers.py +0 -0
  551. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/register_callbacks.py +0 -0
  552. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/sbx_plan.py +0 -0
  553. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/skill_cmds.py +0 -0
  554. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/setup_cli/wizard.py +0 -0
  555. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/LICENSE.deepseek +0 -0
  556. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/__init__.py +0 -0
  557. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/register_callbacks.py +0 -0
  558. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/spill/store.py +0 -0
  559. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/stack_dump/__init__.py +0 -0
  560. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/stack_dump/register_callbacks.py +0 -0
  561. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/__init__.py +0 -0
  562. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/config.py +0 -0
  563. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/payload.py +0 -0
  564. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/prompt_patch.py +0 -0
  565. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/register_callbacks.py +0 -0
  566. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/runner.py +0 -0
  567. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/statusline/statusline_command.py +0 -0
  568. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/steer_queue/__init__.py +0 -0
  569. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/steer_queue/queue_menu.py +0 -0
  570. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/steer_queue/register_callbacks.py +0 -0
  571. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/README.md +0 -0
  572. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/__init__.py +0 -0
  573. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/coalesce_patch.py +0 -0
  574. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/panel_render.py +0 -0
  575. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/register_callbacks.py +0 -0
  576. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/resume_repaint.py +0 -0
  577. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/subagent_panel/state.py +0 -0
  578. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/switch_agent_resume/__init__.py +0 -0
  579. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/switch_agent_resume/register_callbacks.py +0 -0
  580. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/termflow_tui.py +0 -0
  581. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/__init__.py +0 -0
  582. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/bundled_palettes.py +0 -0
  583. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/content_styles.py +0 -0
  584. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/osc_palette.py +0 -0
  585. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/picker.py +0 -0
  586. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/prompt_toolkit_theme.py +0 -0
  587. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/rich_themes.py +0 -0
  588. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/theme/themes.py +0 -0
  589. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/timestamp_heartbeat/__init__.py +0 -0
  590. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/timestamp_heartbeat/register_callbacks.py +0 -0
  591. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/__init__.py +0 -0
  592. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/models.py +0 -0
  593. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/provider.py +0 -0
  594. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/register_callbacks.py +0 -0
  595. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/registry.py +0 -0
  596. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/universal_constructor/sandbox.py +0 -0
  597. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/web_retriever_skill/SKILL.md +0 -0
  598. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/web_retriever_skill/__init__.py +0 -0
  599. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/web_retriever_skill/register_callbacks.py +0 -0
  600. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/__init__.py +0 -0
  601. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/cancellation.py +0 -0
  602. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/goal_runs.py +0 -0
  603. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/judge.py +0 -0
  604. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/judge_config.py +0 -0
  605. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/judges_menu.py +0 -0
  606. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/register_callbacks.py +0 -0
  607. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/wiggum/state.py +0 -0
  608. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/yolo_cli/__init__.py +0 -0
  609. {code_puppy_core_plugins-0.0.103 → code_puppy_core_plugins-0.0.105}/code_puppy_core_plugins/yolo_cli/register_callbacks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: code-puppy-core-plugins
3
- Version: 0.0.103
3
+ Version: 0.0.105
4
4
  Summary: Official plugin bundle for Code Puppy
5
5
  Project-URL: Repository, https://github.com/mpfaffenberger/code_puppy_core_plugins
6
6
  Project-URL: Homepage, https://github.com/mpfaffenberger/code_puppy_core_plugins
@@ -41,6 +41,8 @@ Requires-Dist: pyobjc-framework-cocoa>=10.3; (sys_platform == 'darwin') and extr
41
41
  Requires-Dist: pyobjc-framework-quartz>=10.3; (sys_platform == 'darwin') and extra == 'computer-use'
42
42
  Requires-Dist: pywinauto<0.7,>=0.6.9; (sys_platform == 'win32') and extra == 'computer-use'
43
43
  Requires-Dist: windows-capture<3,>=2.0.1; (sys_platform == 'win32') and extra == 'computer-use'
44
+ Provides-Extra: logfire
45
+ Requires-Dist: logfire>=4.0; extra == 'logfire'
44
46
  Description-Content-Type: text/markdown
45
47
 
46
48
  # Code Puppy Core Plugins
@@ -108,6 +110,21 @@ player can play it. Linux uses `notify-send` for desktop notifications when it
108
110
  is installed; Windows uses a best-effort PowerShell toast. No external Python
109
111
  dependencies are required.
110
112
 
113
+ ## Logfire
114
+
115
+ The `logfire_instrumentation`, `logfire_oauth` and `logfire_sessions` plugins
116
+ do not import the SDK until you opt in. The SDK is an optional extra:
117
+
118
+ ```bash
119
+ uv tool install code-puppy --with 'code-puppy-core-plugins[logfire]'
120
+ ```
121
+
122
+ Opt in to pydantic-ai instrumentation with `/set enable_logfire=true` (or a
123
+ truthy `CODE_PUPPY_ENABLE_LOGFIRE` for headless runs), then restart. Spans are
124
+ sent only when a write token is available, either your own `LOGFIRE_TOKEN` or
125
+ one minted by `/logfire onboard`. Opting in without the extra installed shows
126
+ an install hint instead.
127
+
111
128
  ## pstack
112
129
 
113
130
  The `pstack` plugin bundles poteto's [pstack](https://github.com/cursor/plugins/tree/main/pstack)
@@ -63,6 +63,21 @@ player can play it. Linux uses `notify-send` for desktop notifications when it
63
63
  is installed; Windows uses a best-effort PowerShell toast. No external Python
64
64
  dependencies are required.
65
65
 
66
+ ## Logfire
67
+
68
+ The `logfire_instrumentation`, `logfire_oauth` and `logfire_sessions` plugins
69
+ do not import the SDK until you opt in. The SDK is an optional extra:
70
+
71
+ ```bash
72
+ uv tool install code-puppy --with 'code-puppy-core-plugins[logfire]'
73
+ ```
74
+
75
+ Opt in to pydantic-ai instrumentation with `/set enable_logfire=true` (or a
76
+ truthy `CODE_PUPPY_ENABLE_LOGFIRE` for headless runs), then restart. Spans are
77
+ sent only when a write token is available, either your own `LOGFIRE_TOKEN` or
78
+ one minted by `/logfire onboard`. Opting in without the extra installed shows
79
+ an install hint instead.
80
+
66
81
  ## pstack
67
82
 
68
83
  The `pstack` plugin bundles poteto's [pstack](https://github.com/cursor/plugins/tree/main/pstack)
@@ -119,6 +119,7 @@ Every file stays well under the 600-line cap and owns one concern.
119
119
  | `register_callbacks.py` | Register the `--acp` flag; when present, redirect the console to stderr, run `acp.run_agent(CodePuppyAgent())` on its own loop in a thread, and return `{"handled": True}` so the TUI never starts. |
120
120
  | `agent.py` | `CodePuppyAgent(acp.Agent)` — the SDK agent implementation: initialize, new/load/resume/fork/list/close session, prompt, cancel, set_session_mode/model, set_config_option, authenticate, plus `on_connect` (stashes the client handle + installs approvals). |
121
121
  | `capabilities.py` | Declarative capability negotiation in SDK models: our `AgentCapabilities`, and parsing the client's `ClientCapabilities` into `(fs_read, fs_write, terminal)`. |
122
+ | `auth_status.py` | Neutral provider registry that lets any plugin report sign-in state; read-only snapshots feed `authMethods` and `authenticate`. |
122
123
  | `content.py` | Parse ACP prompt content blocks → text + multimodal attachments (`BinaryContent` / `ImageUrl`), honouring `embeddedContext` + `image`. |
123
124
  | `session.py` | `ACPSession`: one ACP session ⇄ one `BaseAgent` + its `_message_history`. Runs each turn as a cancellable `asyncio.Task`; persists history after each turn; owns the final-result fallback. |
124
125
  | `commands.py` | Execute client-typed `/slash` commands via `command_handler`, capturing MessageBus output and forwarding it (never touches stdin). |
@@ -129,6 +130,7 @@ Every file stays well under the 600-line cap and owns one concern.
129
130
  | `bridge.py` | `EventBridge`: registers `stream_event` / `pre_tool_call` / `post_tool_call` hooks and translates them into SDK `session/update`s via `connection.session_update`. (Hooks, **not** MessageBus — see *Event source*.) |
130
131
  | `permissions.py` | Wires Code Puppy's two approval edges to the client via the SDK's `request_permission`: the `tools.common` approval backend (files, cross-thread) and the `run_shell_command` hook (shell). Fails closed. |
131
132
  | `io_delegation.py` | `DelegatedFileSystemBackend` (sync, cross-thread) + `DelegatedCommandExecutor` (async terminal lifecycle) that plug into the core I/O seams, capability-gated. |
133
+ | `themes.py` | Read-only theme catalog: the `_code_puppy/themes/list` ext method, the `codePuppy/theme` session `_meta`, and the `_code_puppy/themes/changed` poll (`ThemeWatcher`). |
132
134
  | `state.py` | Process-wide run context: the SDK connection + its loop, the active session id, and the open-tool-call stack — so the permission/I/O seams (plain module functions) can reach the running connection and correlate events. |
133
135
 
134
136
  ```
@@ -186,7 +188,7 @@ double-send.
186
188
  | Method | Behaviour |
187
189
  |--------|-----------|
188
190
  | `initialize` | Negotiate version + capabilities; install capability-gated I/O delegation. |
189
- | `authenticate` / `logout` | No-op (auth is via Code Puppy's own model config/env). |
191
+ | `authenticate` / `logout` | `authenticate` reports (read-only) the registered auth status for a known method id as `_meta.codePuppy.authStatus`, and succeeds even when that status is `missing` or `expired`; clients must read `status`, not infer from success. An unknown method id gets an empty response. `logout` is a no-op. |
190
192
  | `session/new` | Create an `ACPSession` (fresh `BaseAgent`) from `cwd` + `additionalDirectories`; attach client `mcpServers`; return models + config options; schedule `available_commands_update`. |
191
193
  | `session/load` | Re-open a thread: **replay persisted history into the agent AND stream it back to the client** as `session/update`s so the client rebuilds the thread UI. |
192
194
  | `session/resume` | Rehydrate + replay a session across a restart from persisted history. |
@@ -204,6 +206,66 @@ call in 0.10.1), `plan` updates (no native plan model), and the unstable
204
206
  unimplemented method to a clean "method not found", so we advertise honestly
205
207
  and stub nothing.
206
208
 
209
+ ### Reporting sign-in state
210
+
211
+ `auth_status.py` is a neutral registry: any plugin can register a provider that
212
+ reports its sign-in state, and ACP clients see it in `initialize` (`authMethods`)
213
+ and `authenticate`. Providers must be fast and synchronous; a provider that raises
214
+ or returns a report with wrong-typed fields is skipped. If two providers report the
215
+ same `method_id`, the first registered wins, so the outcome depends on plugin load order.
216
+
217
+ ```python
218
+ from datetime import datetime, timezone
219
+
220
+ from code_puppy_core_plugins.acp.auth_status import (
221
+ AuthStatusReport,
222
+ register_auth_status_provider,
223
+ )
224
+
225
+
226
+ def example_auth_status() -> AuthStatusReport | None:
227
+ session = _load_session()
228
+ if session is None:
229
+ return AuthStatusReport("example-login", "Example Login", "missing")
230
+ return AuthStatusReport(
231
+ "example-login",
232
+ "Example Login",
233
+ "signed_in",
234
+ expires_at=datetime(2030, 1, 2, 3, 4, 5, tzinfo=timezone.utc),
235
+ user_id=session.user_name,
236
+ )
237
+
238
+
239
+ register_auth_status_provider(example_auth_status)
240
+ ```
241
+
242
+ `expires_at` is serialized as ISO-8601 UTC (`...Z`); a naive value is treated as UTC,
243
+ and an aware value is converted to UTC. `user_id` is a display string (trimmed, max 128 chars).
244
+
245
+ Wire shape in the `initialize` result (`authMethods` is omitted when no provider is registered):
246
+
247
+ ```json
248
+ {
249
+ "authMethods": [
250
+ {
251
+ "id": "example-login",
252
+ "name": "Example Login",
253
+ "_meta": {
254
+ "codePuppy": {
255
+ "authStatus": { "status": "signed_in", "expiresAt": "2030-01-02T03:04:05Z", "userId": "jdoe" }
256
+ }
257
+ }
258
+ }
259
+ ]
260
+ }
261
+ ```
262
+
263
+ Readers must never trigger login, network or prompts. `id`, `name` and `description`
264
+ are provider-supplied display strings and must never contain secrets; only the contents of
265
+ `_meta.codePuppy.authStatus` are allow-listed to `status`, `expiresAt` and `userId`.
266
+ A `status` of `not_applicable` means the method does not apply to this
267
+ install, so clients should hide any sign-in UI for it.
268
+
207
269
  ### Outbound notifications (us → the client) — `session/update`
208
270
 
209
271
  `agent_message_chunk`, `agent_thought_chunk`, `tool_call`, `tool_call_update`,
@@ -258,6 +320,73 @@ change.
258
320
 
259
321
  ---
260
322
 
323
+ ## Theme catalog (`_code_puppy/themes/*`)
324
+
325
+ You can list Code Puppy's color themes and track the active one without reading
326
+ its config. The catalog is read-only: there is no setter.
327
+
328
+ ### `_code_puppy/themes/list`
329
+
330
+ Send this request before or after `session/new`. It needs no session. Send
331
+ `{}` or omit `params`; extra keys are ignored.
332
+
333
+ The result has this shape:
334
+
335
+ ```jsonc
336
+ {
337
+ "schemaVersion": 1,
338
+ "active": "ocean", // or null
339
+ "themes": [
340
+ {
341
+ "id": "ocean",
342
+ "label": "Ocean",
343
+ "icon": "...",
344
+ "blurb": "...",
345
+ "appearance": "dark", // "dark" or "light"
346
+ "palette": { "bg": "#rrggbb", "fg": "#rrggbb", "ansi": ["#rrggbb", "...16 entries"] },
347
+ "roles": { "background": "#rrggbb", "surface": "#rrggbb", "text": "#rrggbb",
348
+ "mutedText": "#rrggbb", "accent": "#rrggbb", "success": "#rrggbb",
349
+ "error": "#rrggbb", "warning": "#rrggbb", "running": "#rrggbb",
350
+ "diffAdd": "#rrggbb", "diffRemove": "#rrggbb" }
351
+ }
352
+ // ...more themes
353
+ ]
354
+ }
355
+ ```
356
+
357
+ Themes appear in this order: curated themes in menu order, then `default`. The `surprise`
358
+ theme is excluded. The `default` entry has `null` for `appearance`, `palette`,
359
+ and `roles`, because it restores the terminal's own colors.
360
+
361
+ `active` is the ID of the catalog theme stored in the `theme_active_theme`
362
+ config key. It is `null` when the key is unset, and also when the key holds
363
+ `legacy-custom` or `surprise`.
364
+
365
+ For the mapping from palette to roles, see
366
+ [`theme/README.md`](../theme/README.md). This page does not repeat it.
367
+
368
+ ### `_meta` on session responses
369
+
370
+ `session/new`, `session/load`, and `session/resume` results include
371
+ `_meta["codePuppy/theme"] = {"active": <id or null>}`. Use it to paint the first
372
+ frame without waiting for the list request.
373
+
374
+ ### `_code_puppy/themes/changed`
375
+
376
+ When the active theme changes, the agent sends this notification with params
377
+ `{"active": <id or null>}`. It sends one notification per change. The agent
378
+ reads the config value every 2 seconds from the moment the client connects.
379
+ The first reading is a baseline, so no notification is sent for it.
380
+
381
+ ### Unknown methods and older CLIs
382
+
383
+ Any other `_code_puppy/*` method, such as `_code_puppy/themes/set`, returns
384
+ JSON-RPC error `-32601` (method not found). Older Code Puppy CLIs omit the
385
+ `_meta` key and return `-32601` for the list request. Clients should fall back
386
+ to a bundled copy of the catalog when either happens.
387
+
388
+ ---
389
+
261
390
  ## Testing
262
391
 
263
392
  `tests/test_acp_plugin.py` drives `CodePuppyAgent` directly against a fake SDK
@@ -40,6 +40,7 @@ from acp.schema import (
40
40
  )
41
41
 
42
42
  from code_puppy_core_plugins.acp import (
43
+ auth_status,
43
44
  capabilities,
44
45
  io_delegation,
45
46
  mcp_config,
@@ -48,6 +49,7 @@ from code_puppy_core_plugins.acp import (
48
49
  replay,
49
50
  session_config,
50
51
  state,
52
+ themes,
51
53
  )
52
54
  from code_puppy_core_plugins.acp.bridge import EventBridge
53
55
  from code_puppy_core_plugins.acp.session import ACPSession
@@ -76,6 +78,7 @@ class CodePuppyAgent(Agent):
76
78
  self._sessions: Dict[str, ACPSession] = {}
77
79
  self._bridge = EventBridge()
78
80
  self._client_caps: Optional[ClientCapabilities] = None
81
+ self._theme_watcher = themes.ThemeWatcher()
79
82
 
80
83
  # ---- Connection lifecycle ---------------------------------------------
81
84
  def on_connect(self, conn: Any) -> None:
@@ -88,6 +91,11 @@ class CodePuppyAgent(Agent):
88
91
  state.set_connection(conn, asyncio.get_running_loop())
89
92
  self._bridge.register()
90
93
  permissions.install()
94
+ try:
95
+ self._theme_watcher.start()
96
+ except Exception as error: # noqa: BLE001
97
+ # Startup must never fail on the theme watcher; log the class only.
98
+ logger.debug("ACP theme watcher not started: %s", type(error).__name__)
91
99
 
92
100
  def shutdown(self) -> None:
93
101
  """Unwire this agent's event hooks. Call once the connection ends.
@@ -97,6 +105,7 @@ class CodePuppyAgent(Agent):
97
105
  connection leaves the global callback registry clean.
98
106
  """
99
107
  self._bridge.unregister()
108
+ self._theme_watcher.stop()
100
109
 
101
110
  # ---- Handshake --------------------------------------------------------
102
111
  async def initialize(
@@ -126,11 +135,16 @@ class CodePuppyAgent(Agent):
126
135
  title="Code Puppy",
127
136
  version=_code_puppy_version(),
128
137
  ),
138
+ auth_methods=auth_status.auth_methods(),
129
139
  )
130
140
 
131
141
  async def authenticate(self, method_id: str, **kwargs: Any) -> AuthenticateResponse:
132
- """No auth flow — Code Puppy authenticates via its own model config."""
133
- return AuthenticateResponse()
142
+ """Report the registered auth status for ``method_id``.
143
+ Never logs in, calls the network, or prompts."""
144
+ report = auth_status.auth_status_for(method_id)
145
+ if report is None:
146
+ return AuthenticateResponse()
147
+ return AuthenticateResponse(field_meta=auth_status.auth_status_meta(report))
134
148
 
135
149
  # ---- Session lifecycle ------------------------------------------------
136
150
  async def new_session(
@@ -153,6 +167,7 @@ class CodePuppyAgent(Agent):
153
167
  return NewSessionResponse(
154
168
  session_id=session_id,
155
169
  config_options=session_config.config_options() or None,
170
+ field_meta=themes.session_meta(),
156
171
  )
157
172
 
158
173
  async def load_session(
@@ -179,6 +194,7 @@ class CodePuppyAgent(Agent):
179
194
  self._announce_commands_soon(session_id)
180
195
  return LoadSessionResponse(
181
196
  config_options=session_config.config_options() or None,
197
+ field_meta=themes.session_meta(),
182
198
  )
183
199
 
184
200
  async def resume_session(
@@ -199,6 +215,7 @@ class CodePuppyAgent(Agent):
199
215
  self._announce_commands_soon(session_id)
200
216
  return ResumeSessionResponse(
201
217
  config_options=session_config.config_options() or None,
218
+ field_meta=themes.session_meta(),
202
219
  )
203
220
 
204
221
  async def fork_session(
@@ -367,6 +384,10 @@ class CodePuppyAgent(Agent):
367
384
  reset_model_fallback_warnings(scope=session_id)
368
385
  return CloseSessionResponse()
369
386
 
387
+ async def ext_method(self, method: str, params: dict[str, Any]) -> dict[str, Any]:
388
+ """Route ext requests (currently only themes) to the theme catalog."""
389
+ return await themes.handle_ext_method(method, params)
390
+
370
391
  # ---- Prompt turn ------------------------------------------------------
371
392
  async def prompt(
372
393
  self, prompt: List[Any], session_id: str, **kwargs: Any
@@ -0,0 +1,148 @@
1
+ """Neutral registry of sign-in state that plugins report to ACP clients.
2
+
3
+ Any plugin registers a provider; ACP reads it without knowing who owns it.
4
+ Called by: agent.py :: CodePuppyAgent.initialize() / authenticate().
5
+ Readers must never trigger login, network I/O, or prompts; providers stay read-only.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import logging
11
+ import threading
12
+ import typing
13
+ from dataclasses import dataclass
14
+ from datetime import datetime, timezone
15
+ from typing import Any, Callable, Literal
16
+
17
+ from acp.schema import AuthMethodAgent
18
+
19
+ logger = logging.getLogger(__name__)
20
+
21
+ AuthState = Literal["signed_in", "expired", "missing", "not_applicable"]
22
+
23
+ _USER_ID_MAX_LEN = 128
24
+
25
+
26
+ @dataclass(frozen=True)
27
+ class AuthStatusReport:
28
+ method_id: str
29
+ name: str
30
+ status: AuthState
31
+ description: str | None = None
32
+ expires_at: datetime | None = None
33
+ user_id: str | None = None
34
+
35
+
36
+ AuthStatusProvider = Callable[[], "AuthStatusReport | None"]
37
+
38
+ _providers: list[AuthStatusProvider] = []
39
+ _providers_lock = threading.Lock()
40
+
41
+
42
+ def register_auth_status_provider(provider: AuthStatusProvider) -> None:
43
+ with _providers_lock:
44
+ if provider not in _providers:
45
+ _providers.append(provider)
46
+
47
+
48
+ def unregister_auth_status_provider(provider: AuthStatusProvider) -> None:
49
+ with _providers_lock:
50
+ if provider in _providers:
51
+ _providers.remove(provider)
52
+
53
+
54
+ def _is_valid_report(report: object) -> bool:
55
+ if not isinstance(report, AuthStatusReport):
56
+ return False
57
+ if report.status not in typing.get_args(AuthState):
58
+ return False
59
+ for text in (report.method_id, report.name):
60
+ if not isinstance(text, str) or not text.strip():
61
+ return False
62
+ if report.description is not None and not isinstance(report.description, str):
63
+ return False
64
+ if report.expires_at is not None and not isinstance(report.expires_at, datetime):
65
+ return False
66
+ if report.user_id is not None and not isinstance(report.user_id, str):
67
+ return False
68
+ return True
69
+
70
+
71
+ def current_auth_reports() -> list[AuthStatusReport]:
72
+ with _providers_lock:
73
+ providers = list(_providers)
74
+
75
+ reports: list[AuthStatusReport] = []
76
+ seen_ids: set[str] = set()
77
+ for provider in providers:
78
+ try:
79
+ report = provider()
80
+ except Exception as exc:
81
+ # Exception type only: messages may carry tokens or other secrets.
82
+ logger.debug("auth status provider failed: %s", type(exc).__name__)
83
+ continue
84
+ if not _is_valid_report(report) or report.method_id in seen_ids:
85
+ continue
86
+ seen_ids.add(report.method_id)
87
+ reports.append(report)
88
+ return reports
89
+
90
+
91
+ def auth_status_for(method_id: str) -> AuthStatusReport | None:
92
+ for report in current_auth_reports():
93
+ if report.method_id == method_id and _meta_or_none(report) is not None:
94
+ return report
95
+ return None
96
+
97
+
98
+ def _format_expires_at(expires_at: datetime) -> str:
99
+ if expires_at.tzinfo is None:
100
+ utc_value = expires_at.replace(tzinfo=timezone.utc)
101
+ else:
102
+ utc_value = expires_at.astimezone(timezone.utc)
103
+ return utc_value.replace(microsecond=0).isoformat().replace("+00:00", "Z")
104
+
105
+
106
+ def auth_status_meta(report: AuthStatusReport) -> dict[str, Any]:
107
+ # Allow-list only: copying other fields could leak data a subclass carries.
108
+ inner: dict[str, Any] = {"status": report.status}
109
+ if report.expires_at is not None:
110
+ inner["expiresAt"] = _format_expires_at(report.expires_at)
111
+ if isinstance(report.user_id, str):
112
+ user_id = report.user_id.strip()[:_USER_ID_MAX_LEN]
113
+ if user_id:
114
+ inner["userId"] = user_id
115
+ return {"codePuppy": {"authStatus": inner}}
116
+
117
+
118
+ def _meta_or_none(report: AuthStatusReport) -> dict[str, Any] | None:
119
+ try:
120
+ return auth_status_meta(report)
121
+ except Exception as exc:
122
+ # Exception type only: messages may carry tokens or other secrets.
123
+ logger.debug(
124
+ "auth status report could not be serialized: %s", type(exc).__name__
125
+ )
126
+ return None
127
+
128
+
129
+ def auth_methods() -> list[AuthMethodAgent] | None:
130
+ methods: list[AuthMethodAgent] = []
131
+ for report in current_auth_reports():
132
+ meta = _meta_or_none(report)
133
+ if meta is None:
134
+ continue
135
+ try:
136
+ methods.append(
137
+ AuthMethodAgent(
138
+ id=report.method_id,
139
+ name=report.name,
140
+ description=report.description,
141
+ field_meta=meta,
142
+ )
143
+ )
144
+ except Exception as exc:
145
+ logger.debug(
146
+ "auth status report could not be serialized: %s", type(exc).__name__
147
+ )
148
+ return methods or None
@@ -0,0 +1,99 @@
1
+ """ACP theme catalog: the ``code_puppy/themes/list`` ext method, session meta, and change pushes.
2
+
3
+ Read-only by design: the client lists themes and reads the active one; there is no setter.
4
+
5
+ Depends on: catalog.py :: build_catalog(), read_active_theme_id(), SCHEMA_VERSION
6
+ Depends on: state.py :: get_connection()
7
+ Called by: agent.py :: CodePuppyAgent.ext_method(), new_session(), load_session(), resume_session(), on_connect(), shutdown()
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import asyncio
13
+ import logging
14
+ from typing import Any, Optional
15
+
16
+ from acp import RequestError
17
+
18
+ from code_puppy_core_plugins.acp import state
19
+ from code_puppy_core_plugins.theme.catalog import (
20
+ SCHEMA_VERSION,
21
+ build_catalog,
22
+ read_active_theme_id,
23
+ )
24
+
25
+ logger = logging.getLogger(__name__)
26
+
27
+ EXT_LIST = "code_puppy/themes/list"
28
+ EXT_CHANGED = "code_puppy/themes/changed"
29
+ META_KEY = "codePuppy/theme"
30
+ POLL_SECONDS = 2.0
31
+
32
+ # Distinct from None: None is a valid "no active theme" observation.
33
+ _NO_BASELINE: Any = object()
34
+
35
+
36
+ async def handle_ext_method(method: str, params: Any) -> dict[str, Any]:
37
+ """Serve the theme list; any other ext method is not found."""
38
+ if method != EXT_LIST:
39
+ # The wire name carries the SDK's leading underscore; the error reports it.
40
+ raise RequestError.method_not_found("_" + method)
41
+ return {
42
+ "schemaVersion": SCHEMA_VERSION,
43
+ "active": read_active_theme_id(),
44
+ "themes": build_catalog(),
45
+ }
46
+
47
+
48
+ def session_meta() -> dict[str, Any]:
49
+ """Return the active theme as ACP ``_meta`` for session responses."""
50
+ return {META_KEY: {"active": read_active_theme_id()}}
51
+
52
+
53
+ class ThemeWatcher:
54
+ """Polls the active theme and pushes a notification when it changes.
55
+
56
+ The first observation is the baseline and sends nothing, so a client that
57
+ has not yet read the list is never told about a theme it did not ask about.
58
+ """
59
+
60
+ def __init__(self, poll_seconds: float = POLL_SECONDS) -> None:
61
+ self._poll_seconds = poll_seconds
62
+ self._task: Optional[asyncio.Task[None]] = None
63
+ self._last: Any = _NO_BASELINE
64
+
65
+ def start(self) -> None:
66
+ """Start the poll loop on the running event loop; no-op if already running."""
67
+ if self._task is not None and not self._task.done():
68
+ return
69
+ self._task = asyncio.get_running_loop().create_task(self._run())
70
+
71
+ def stop(self) -> None:
72
+ """Cancel the poll loop; safe when never started or already stopped."""
73
+ if self._task is not None:
74
+ self._task.cancel()
75
+ self._task = None
76
+
77
+ async def poll_once(self) -> None:
78
+ """Read the active theme and notify the client if it changed since last poll."""
79
+ # Broad catches are deliberate: a theme failure must never kill the poll loop.
80
+ try:
81
+ value = await asyncio.to_thread(read_active_theme_id)
82
+ except Exception as error:
83
+ logger.debug("ACP theme poll failed: %s", type(error).__name__)
84
+ return
85
+ previous, self._last = self._last, value
86
+ if previous is _NO_BASELINE or previous == value:
87
+ return
88
+ connection = state.get_connection()
89
+ if connection is None:
90
+ return
91
+ try:
92
+ await connection.ext_notification(EXT_CHANGED, {"active": value})
93
+ except Exception as error:
94
+ logger.debug("ACP theme notify failed: %s", type(error).__name__)
95
+
96
+ async def _run(self) -> None:
97
+ while True:
98
+ await self.poll_once()
99
+ await asyncio.sleep(self._poll_seconds)
@@ -21,6 +21,7 @@ from pydantic_ai import BinaryContent, RunContext
21
21
  from pydantic_ai.messages import UserPromptPart
22
22
 
23
23
  from code_puppy import config
24
+ from code_puppy.error_logging import log_error
24
25
 
25
26
  TOOL_NAME = "save_attachments_as_references"
26
27
 
@@ -117,6 +118,7 @@ def register_save_attachments_as_references(agent: Any) -> None:
117
118
  try:
118
119
  paths = await asyncio.to_thread(_save_reference_images, images)
119
120
  except OSError as exc:
121
+ log_error(exc, context="save_attachments_as_references failed")
120
122
  return {
121
123
  "success": False,
122
124
  "error": f"Could not save reference images: {exc}",
@@ -0,0 +1 @@
1
+ """Opt-in Logfire instrumentation of Code Puppy agent runs."""