code-puppy-core-plugins 0.0.4__tar.gz → 0.0.5__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 (317) hide show
  1. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/PKG-INFO +1 -1
  2. code_puppy_core_plugins-0.0.5/code_puppy_core_plugins/spill/LICENSE.deepseek +28 -0
  3. code_puppy_core_plugins-0.0.5/code_puppy_core_plugins/spill/__init__.py +1 -0
  4. code_puppy_core_plugins-0.0.5/code_puppy_core_plugins/spill/register_callbacks.py +235 -0
  5. code_puppy_core_plugins-0.0.5/code_puppy_core_plugins/spill/store.py +97 -0
  6. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/pyproject.toml +2 -1
  7. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/.gitignore +0 -0
  8. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/LICENSE +0 -0
  9. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/README.md +0 -0
  10. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/__init__.py +0 -0
  11. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/README.md +0 -0
  12. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/__init__.py +0 -0
  13. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/agent.py +0 -0
  14. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/bridge.py +0 -0
  15. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/capabilities.py +0 -0
  16. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/commands.py +0 -0
  17. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/content.py +0 -0
  18. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/io_delegation.py +0 -0
  19. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/mcp_config.py +0 -0
  20. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/permissions.py +0 -0
  21. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/persistence.py +0 -0
  22. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/register_callbacks.py +0 -0
  23. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/replay.py +0 -0
  24. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/session.py +0 -0
  25. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/session_config.py +0 -0
  26. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/acp/state.py +0 -0
  27. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/__init__.py +0 -0
  28. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/config.py +0 -0
  29. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/discovery.py +0 -0
  30. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/downloader.py +0 -0
  31. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/enabled_skills.py +0 -0
  32. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/installer.py +0 -0
  33. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/metadata.py +0 -0
  34. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/prompt_builder.py +0 -0
  35. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/provider.py +0 -0
  36. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/register_callbacks.py +0 -0
  37. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/remote_catalog.py +0 -0
  38. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/skill_catalog.py +0 -0
  39. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/skill_commands.py +0 -0
  40. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/skills_install_menu.py +0 -0
  41. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/agent_skills/skills_menu.py +0 -0
  42. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/aws_bedrock/__init__.py +0 -0
  43. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/aws_bedrock/config.py +0 -0
  44. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/aws_bedrock/register_callbacks.py +0 -0
  45. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/aws_bedrock/utils.py +0 -0
  46. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/README.md +0 -0
  47. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/__init__.py +0 -0
  48. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/config.py +0 -0
  49. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/discovery.py +0 -0
  50. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/register_callbacks.py +0 -0
  51. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/token.py +0 -0
  52. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/azure_foundry/utils.py +0 -0
  53. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/btw/__init__.py +0 -0
  54. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/btw/inline_view.py +0 -0
  55. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/btw/register_callbacks.py +0 -0
  56. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/btw/side_query.py +0 -0
  57. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/IMAGEGEN_SKILL.md +0 -0
  58. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/__init__.py +0 -0
  59. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/config.py +0 -0
  60. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/image_generation.py +0 -0
  61. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/image_tool.py +0 -0
  62. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/oauth_flow.py +0 -0
  63. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/register_callbacks.py +0 -0
  64. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/test_plugin.py +0 -0
  65. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/usage.py +0 -0
  66. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/chatgpt_oauth/utils.py +0 -0
  67. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_hooks/__init__.py +0 -0
  68. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_hooks/config.py +0 -0
  69. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_hooks/register_callbacks.py +0 -0
  70. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/README.md +0 -0
  71. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/SETUP.md +0 -0
  72. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/__init__.py +0 -0
  73. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/config.py +0 -0
  74. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/fast_mode.py +0 -0
  75. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/prompt_handler.py +0 -0
  76. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/register_callbacks.py +0 -0
  77. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/test_plugin.py +0 -0
  78. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
  79. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/claude_code_oauth/utils.py +0 -0
  80. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/AGENTS_AND_TOOLS.md +0 -0
  81. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/MODELS_AND_MCP.md +0 -0
  82. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/PLUGINS_AND_CALLBACKS.md +0 -0
  83. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/SESSIONS_AND_HISTORY.md +0 -0
  84. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/SKILL.md +0 -0
  85. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/SKILLS_SYSTEM.md +0 -0
  86. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/SYSTEM_PROMPT_CONFIG_AND_I18N.md +0 -0
  87. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/__init__.py +0 -0
  88. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/code_puppy_agent/register_callbacks.py +0 -0
  89. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/NativeCapture.swift +0 -0
  90. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/README.md +0 -0
  91. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/__init__.py +0 -0
  92. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/accessibility.py +0 -0
  93. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/activation.py +0 -0
  94. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/backend.py +0 -0
  95. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/backend_types.py +0 -0
  96. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/capture.py +0 -0
  97. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/commands.py +0 -0
  98. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/geometry.py +0 -0
  99. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/inline_image.py +0 -0
  100. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/keycodes.py +0 -0
  101. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/policy.py +0 -0
  102. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/register_callbacks.py +0 -0
  103. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/safety.py +0 -0
  104. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/settle.py +0 -0
  105. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/state.py +0 -0
  106. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/computer_use/tools.py +0 -0
  107. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/context_indicator/__init__.py +0 -0
  108. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/context_indicator/register_callbacks.py +0 -0
  109. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/context_indicator/usage.py +0 -0
  110. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/__init__.py +0 -0
  111. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/config.py +0 -0
  112. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/reasoning_client.py +0 -0
  113. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/register_callbacks.py +0 -0
  114. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/copilot_auth/utils.py +0 -0
  115. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/customizable_commands/__init__.py +0 -0
  116. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/customizable_commands/register_callbacks.py +0 -0
  117. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/__init__.py +0 -0
  118. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/cancel.py +0 -0
  119. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/commands.py +0 -0
  120. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/config.py +0 -0
  121. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/lifecycle.py +0 -0
  122. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/register_callbacks.py +0 -0
  123. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/runtime.py +0 -0
  124. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/startup_lock.py +0 -0
  125. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/workflow_ids.py +0 -0
  126. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/dbos_durable_exec/wrapper.py +0 -0
  127. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/destructive_command_guard/AGENTS.md +0 -0
  128. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/destructive_command_guard/__init__.py +0 -0
  129. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/destructive_command_guard/detector.py +0 -0
  130. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/destructive_command_guard/register_callbacks.py +0 -0
  131. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/emoji_filter/__init__.py +0 -0
  132. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/emoji_filter/config.py +0 -0
  133. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/emoji_filter/register_callbacks.py +0 -0
  134. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/emoji_filter/stripper.py +0 -0
  135. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/empty_html_comment_filter/register_callbacks.py +0 -0
  136. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/example_custom_command/README.md +0 -0
  137. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/example_custom_command/register_callbacks.py +0 -0
  138. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/file_permission_handler/__init__.py +0 -0
  139. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/file_permission_handler/register_callbacks.py +0 -0
  140. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/__init__.py +0 -0
  141. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/README.md +0 -0
  142. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/cheatsheet.md +0 -0
  143. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/pipeline.md +0 -0
  144. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/_docs/synopsis.md +0 -0
  145. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/about.md +0 -0
  146. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/address-feedback.md +0 -0
  147. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/ask.md +0 -0
  148. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/aug.md +0 -0
  149. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/auto-pilot.md +0 -0
  150. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/cheatsheet.md +0 -0
  151. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/commit.md +0 -0
  152. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/config.md +0 -0
  153. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/create-pr.md +0 -0
  154. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/exec.md +0 -0
  155. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/new.md +0 -0
  156. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/qa.md +0 -0
  157. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/rebase.md +0 -0
  158. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/review.md +0 -0
  159. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/split.md +0 -0
  160. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/squash-commits.md +0 -0
  161. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/status.md +0 -0
  162. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/commands/flux/tests.md +0 -0
  163. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_about.py +0 -0
  164. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_cheatsheet.py +0 -0
  165. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/bundled/scripts/flux_status.py +0 -0
  166. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/installer.py +0 -0
  167. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/flux_bootstrap/register_callbacks.py +0 -0
  168. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/force_push_guard/__init__.py +0 -0
  169. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/force_push_guard/detector.py +0 -0
  170. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/force_push_guard/register_callbacks.py +0 -0
  171. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/fork/__init__.py +0 -0
  172. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/fork/register_callbacks.py +0 -0
  173. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/frontend_emitter/__init__.py +0 -0
  174. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/frontend_emitter/emitter.py +0 -0
  175. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/frontend_emitter/register_callbacks.py +0 -0
  176. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/frontend_emitter/session_context.py +0 -0
  177. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/__init__.py +0 -0
  178. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/config.py +0 -0
  179. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/oauth_flow.py +0 -0
  180. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/register_callbacks.py +0 -0
  181. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/grok_oauth/utils.py +0 -0
  182. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/README.md +0 -0
  183. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/__init__.py +0 -0
  184. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/client.py +0 -0
  185. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/register_callbacks.py +0 -0
  186. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/reporter.py +0 -0
  187. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/smoke.py +0 -0
  188. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/herdr/sources.py +0 -0
  189. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_creator/__init__.py +0 -0
  190. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_creator/register_callbacks.py +0 -0
  191. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_manager/__init__.py +0 -0
  192. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_manager/config.py +0 -0
  193. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_manager/hooks_menu.py +0 -0
  194. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/hook_manager/register_callbacks.py +0 -0
  195. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/__init__.py +0 -0
  196. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/config.py +0 -0
  197. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/oauth_flow.py +0 -0
  198. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/register_callbacks.py +0 -0
  199. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/meta_oauth/utils.py +0 -0
  200. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/README.md +0 -0
  201. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/__init__.py +0 -0
  202. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/namespaces.py +0 -0
  203. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/register_callbacks.py +0 -0
  204. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/namespace_skill_search/search_tool.py +0 -0
  205. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/no_tools/__init__.py +0 -0
  206. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/no_tools/register_callbacks.py +0 -0
  207. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/oauth_pasteback.py +0 -0
  208. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/oauth_puppy_html.py +0 -0
  209. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/obsidian_agent/README.md +0 -0
  210. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/obsidian_agent/__init__.py +0 -0
  211. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/obsidian_agent/agent_obsidian.py +0 -0
  212. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/obsidian_agent/register_callbacks.py +0 -0
  213. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama/__init__.py +0 -0
  214. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama/register_callbacks.py +0 -0
  215. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama_setup/__init__.py +0 -0
  216. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama_setup/completer.py +0 -0
  217. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/ollama_setup/register_callbacks.py +0 -0
  218. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/__init__.py +0 -0
  219. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugin_contributions.py +0 -0
  220. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugin_meta.py +0 -0
  221. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugin_text_utils.py +0 -0
  222. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugins_menu.py +0 -0
  223. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugins_menu_layout.py +0 -0
  224. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/plugins_menu_render.py +0 -0
  225. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/project_trust_flow.py +0 -0
  226. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/plugin_list/register_callbacks.py +0 -0
  227. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/pop_command/__init__.py +0 -0
  228. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/pop_command/register_callbacks.py +0 -0
  229. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prompt_newline/__init__.py +0 -0
  230. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prompt_newline/config.py +0 -0
  231. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prompt_newline/register_callbacks.py +0 -0
  232. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/__init__.py +0 -0
  233. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/prune_menu.py +0 -0
  234. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/prune_model.py +0 -0
  235. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/prune_render.py +0 -0
  236. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/prune/register_callbacks.py +0 -0
  237. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/README.md +0 -0
  238. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/__init__.py +0 -0
  239. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/commands.py +0 -0
  240. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/config.py +0 -0
  241. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/kennel.py +0 -0
  242. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/packer.py +0 -0
  243. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/recorder.py +0 -0
  244. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/register_callbacks.py +0 -0
  245. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/retriever.py +0 -0
  246. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/schema.py +0 -0
  247. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/state.py +0 -0
  248. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/tools.py +0 -0
  249. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_kennel/wings.py +0 -0
  250. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/README.md +0 -0
  251. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/__init__.py +0 -0
  252. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/builtin_frames.py +0 -0
  253. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/commands.py +0 -0
  254. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/picker.py +0 -0
  255. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/register_callbacks.py +0 -0
  256. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/puppy_spinner/spinners.py +0 -0
  257. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/quick_resume/__init__.py +0 -0
  258. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/quick_resume/register_callbacks.py +0 -0
  259. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/review_pr/__init__.py +0 -0
  260. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/review_pr/register_callbacks.py +0 -0
  261. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/shell_safety/__init__.py +0 -0
  262. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/shell_safety/agent_shell_safety.py +0 -0
  263. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/shell_safety/command_cache.py +0 -0
  264. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/shell_safety/register_callbacks.py +0 -0
  265. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/stack_dump/__init__.py +0 -0
  266. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/stack_dump/register_callbacks.py +0 -0
  267. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/__init__.py +0 -0
  268. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/config.py +0 -0
  269. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/payload.py +0 -0
  270. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/prompt_patch.py +0 -0
  271. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/register_callbacks.py +0 -0
  272. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/runner.py +0 -0
  273. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/statusline/statusline_command.py +0 -0
  274. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/steer_queue/__init__.py +0 -0
  275. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/steer_queue/queue_menu.py +0 -0
  276. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/steer_queue/register_callbacks.py +0 -0
  277. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/README.md +0 -0
  278. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/__init__.py +0 -0
  279. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/coalesce_patch.py +0 -0
  280. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/panel_render.py +0 -0
  281. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/register_callbacks.py +0 -0
  282. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/resume_repaint.py +0 -0
  283. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/subagent_panel/state.py +0 -0
  284. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/switch_agent_resume/__init__.py +0 -0
  285. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/switch_agent_resume/register_callbacks.py +0 -0
  286. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/README.md +0 -0
  287. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/__init__.py +0 -0
  288. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/bundled_palettes.py +0 -0
  289. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/content_styles.py +0 -0
  290. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/osc_palette.py +0 -0
  291. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/picker.py +0 -0
  292. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/prompt_toolkit_theme.py +0 -0
  293. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/register_callbacks.py +0 -0
  294. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/rich_themes.py +0 -0
  295. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/theme/themes.py +0 -0
  296. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/timestamp_heartbeat/__init__.py +0 -0
  297. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/timestamp_heartbeat/register_callbacks.py +0 -0
  298. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/token_ratio_learner/__init__.py +0 -0
  299. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/token_ratio_learner/ratios.py +0 -0
  300. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/token_ratio_learner/register_callbacks.py +0 -0
  301. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/__init__.py +0 -0
  302. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/models.py +0 -0
  303. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/provider.py +0 -0
  304. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/register_callbacks.py +0 -0
  305. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/registry.py +0 -0
  306. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/universal_constructor/sandbox.py +0 -0
  307. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wide_completion_menu/__init__.py +0 -0
  308. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wide_completion_menu/register_callbacks.py +0 -0
  309. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/__init__.py +0 -0
  310. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/goal_runs.py +0 -0
  311. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/judge.py +0 -0
  312. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/judge_config.py +0 -0
  313. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/judges_menu.py +0 -0
  314. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/register_callbacks.py +0 -0
  315. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/wiggum/state.py +0 -0
  316. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/code_puppy_core_plugins/yolo_cli/__init__.py +0 -0
  317. {code_puppy_core_plugins-0.0.4 → code_puppy_core_plugins-0.0.5}/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.4
3
+ Version: 0.0.5
4
4
  Summary: Official plugin bundle for Code Puppy
5
5
  Project-URL: Repository, https://github.com/mpfaffenberger/code_puppy_core_plugins
6
6
  Project-URL: Homepage, https://github.com/mpfaffenberger/code_puppy_core_plugins
@@ -0,0 +1,28 @@
1
+ DeepSeek Harness spill attribution
2
+
3
+ The spill functionality in this package is based on the spill packages from
4
+ DeepSeek Harness:
5
+
6
+ https://github.com/deepseek-ai/DeepSeek-Harness
7
+
8
+ MIT License
9
+
10
+ Copyright (c) 2026 DeepSeek
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ """Keep oversized dict-shaped tool results out of model context."""
@@ -0,0 +1,235 @@
1
+ """Plugin: spill oversized dict-shaped tool results to private files.
2
+
3
+ Ported from DeepSeek Harness's MIT-licensed spill design. See
4
+ ``LICENSE.deepseek`` in this package for its copyright and license notice.
5
+
6
+ The post-tool hook receives the same dict reference that Code Puppy later
7
+ serializes for the model, so this plugin can replace top-level string fields
8
+ in place. Non-dict results (notably plain strings) cannot be replaced through
9
+ this hook and are deliberately left untouched.
10
+
11
+ When the combined UTF-8 size of top-level string values exceeds the configured
12
+ cap, fields are considered largest-first. Their full text is saved verbatim,
13
+ then replaced by a bounded byte-sliced head/tail preview and a retrieval notice.
14
+ ``read_file`` is skipped by default to avoid a read -> spill -> read loop.
15
+ Every failure is best-effort: the successful tool result stays available inline.
16
+
17
+ Config (puppy.cfg, also settable with ``/set``):
18
+ spill_max_inline_bytes = 32768 # 0 or negative disables
19
+ spill_preview_bytes = 4096 # source bytes retained per field
20
+ spill_root = # unset uses a private OS temp directory
21
+ spill_skip_tools = read_file # comma-separated tool names
22
+ """
23
+
24
+ from __future__ import annotations
25
+
26
+ import logging
27
+ import math
28
+ from pathlib import Path
29
+ from typing import Any
30
+
31
+ from code_puppy.callbacks import register_callback
32
+
33
+ from . import store
34
+
35
+ logger = logging.getLogger(__name__)
36
+
37
+ MAX_INLINE_KEY = "spill_max_inline_bytes"
38
+ PREVIEW_KEY = "spill_preview_bytes"
39
+ ROOT_KEY = "spill_root"
40
+ SKIP_TOOLS_KEY = "spill_skip_tools"
41
+ DEFAULT_MAX_INLINE_BYTES = 32768
42
+ DEFAULT_PREVIEW_BYTES = 4096
43
+ DEFAULT_SKIP_TOOLS = frozenset({"read_file"})
44
+ OMISSION_MARKER = "\n\n[...]\n\n"
45
+
46
+
47
+ def _get_value(key: str) -> Any:
48
+ try:
49
+ from code_puppy.config import get_value
50
+
51
+ return get_value(key)
52
+ except Exception:
53
+ return None
54
+
55
+
56
+ def _get_int(key: str, default: int) -> int:
57
+ raw = _get_value(key)
58
+ if raw is None or str(raw).strip() == "":
59
+ return default
60
+ try:
61
+ return int(str(raw).strip())
62
+ except (TypeError, ValueError):
63
+ logger.warning("Invalid %s value; falling back to %d", key, default)
64
+ return default
65
+
66
+
67
+ def _get_root() -> str | None:
68
+ raw = _get_value(ROOT_KEY)
69
+ if raw is None or not str(raw).strip():
70
+ return None
71
+ return str(raw).strip()
72
+
73
+
74
+ def _get_skip_tools() -> frozenset[str]:
75
+ raw = _get_value(SKIP_TOOLS_KEY)
76
+ if raw is None or not str(raw).strip():
77
+ return DEFAULT_SKIP_TOOLS
78
+ return frozenset(name.strip() for name in str(raw).split(",") if name.strip())
79
+
80
+
81
+ def _byte_size(text: str) -> int:
82
+ return len(text.encode("utf-8"))
83
+
84
+
85
+ def _preview(text: str, budget: int) -> tuple[str, int]:
86
+ """Return a byte-sliced preview and the count of omitted source bytes."""
87
+ encoded = text.encode("utf-8")
88
+ kept_bytes = min(max(0, budget), len(encoded))
89
+ if kept_bytes == 0:
90
+ return "", len(encoded)
91
+ head_bytes = math.ceil(kept_bytes / 2)
92
+ tail_bytes = math.floor(kept_bytes / 2)
93
+ head = encoded[:head_bytes].decode("utf-8", errors="replace")
94
+ tail = encoded[-tail_bytes:].decode("utf-8", errors="replace") if tail_bytes else ""
95
+ return f"{head}{OMISSION_MARKER}{tail}", len(encoded) - kept_bytes
96
+
97
+
98
+ def _notice(omitted: int, path: Path) -> str:
99
+ return (
100
+ f"(~{omitted} bytes omitted. Full output stored at: {path}. "
101
+ "Retrieve it with read_file using start_line/num_lines, or grep this path.)"
102
+ )
103
+
104
+
105
+ def _build_replacement(
106
+ text: str,
107
+ path: Path,
108
+ preview_bytes: int,
109
+ max_bytes: int | None,
110
+ ) -> str | None:
111
+ """Build a strictly smaller replacement, optionally fitting ``max_bytes``."""
112
+ original_bytes = _byte_size(text)
113
+ budget = min(max(0, preview_bytes), original_bytes)
114
+ limit = original_bytes - 1
115
+ if max_bytes is not None:
116
+ limit = min(limit, max_bytes)
117
+ if limit < 0:
118
+ return None
119
+
120
+ while True:
121
+ preview, omitted = _preview(text, budget)
122
+ notice = _notice(omitted, path)
123
+ replacement = f"{preview}\n\n{notice}" if preview else notice
124
+ replacement_bytes = _byte_size(replacement)
125
+ if replacement_bytes <= limit:
126
+ return replacement
127
+ if budget == 0:
128
+ return None
129
+ budget = max(0, budget - max(1, replacement_bytes - limit))
130
+
131
+
132
+ def _spill_result(tool_name: str, result: dict[Any, Any]) -> None:
133
+ cap = _get_int(MAX_INLINE_KEY, DEFAULT_MAX_INLINE_BYTES)
134
+ if cap <= 0 or tool_name in _get_skip_tools():
135
+ return
136
+ preview_bytes = _get_int(PREVIEW_KEY, DEFAULT_PREVIEW_BYTES)
137
+ if preview_bytes < 0:
138
+ logger.warning(
139
+ "Invalid %s value; falling back to %d",
140
+ PREVIEW_KEY,
141
+ DEFAULT_PREVIEW_BYTES,
142
+ )
143
+ preview_bytes = DEFAULT_PREVIEW_BYTES
144
+
145
+ fields = [
146
+ (key, value, _byte_size(value))
147
+ for key, value in result.items()
148
+ if isinstance(value, str)
149
+ ]
150
+ total = sum(size for _, _, size in fields)
151
+ if total <= cap:
152
+ return
153
+
154
+ replacements: dict[Any, str] = {}
155
+ for key, original, original_bytes in sorted(
156
+ fields, key=lambda item: item[2], reverse=True
157
+ ):
158
+ if total <= cap:
159
+ break
160
+ try:
161
+ path = store.save_text(original, tool_name, _get_root())
162
+ except Exception:
163
+ logger.warning(
164
+ "Failed to spill %s result field %r; keeping it inline",
165
+ tool_name,
166
+ key,
167
+ exc_info=True,
168
+ )
169
+ continue
170
+
171
+ other_bytes = total - original_bytes
172
+ field_limit = cap - other_bytes if other_bytes < cap else None
173
+ replacement = _build_replacement(
174
+ original,
175
+ path,
176
+ preview_bytes,
177
+ field_limit,
178
+ )
179
+ if replacement is None:
180
+ logger.warning(
181
+ "Spill notice for %s result field %r cannot fit; keeping it inline",
182
+ tool_name,
183
+ key,
184
+ )
185
+ continue
186
+ replacements[key] = replacement
187
+ total = other_bytes + _byte_size(replacement)
188
+
189
+ # Commit atomically. A partial preview set that still exceeds the cap is
190
+ # neither bounded nor graceful; keep every original inline in that case.
191
+ if total <= cap:
192
+ result.update(replacements)
193
+
194
+
195
+ def _on_post_tool_call(
196
+ tool_name: str,
197
+ tool_args: dict,
198
+ result: Any,
199
+ duration_ms: float,
200
+ context: Any = None,
201
+ ) -> None:
202
+ """Spill oversized top-level string fields without breaking tool calls."""
203
+ _ = tool_args, duration_ms, context
204
+ try:
205
+ if not isinstance(result, dict) or set(result) == {"error"}:
206
+ return
207
+ _spill_result(tool_name, result)
208
+ except Exception:
209
+ logger.debug(
210
+ "spill plugin failed; keeping the tool result inline", exc_info=True
211
+ )
212
+
213
+
214
+ def _reset_state() -> None:
215
+ """Reset lazy process storage state for tests and defensive re-init."""
216
+ store._reset_state()
217
+
218
+
219
+ register_callback("post_tool_call", _on_post_tool_call)
220
+
221
+
222
+ __all__ = [
223
+ "DEFAULT_MAX_INLINE_BYTES",
224
+ "DEFAULT_PREVIEW_BYTES",
225
+ "DEFAULT_SKIP_TOOLS",
226
+ "MAX_INLINE_KEY",
227
+ "PREVIEW_KEY",
228
+ "ROOT_KEY",
229
+ "SKIP_TOOLS_KEY",
230
+ "_build_replacement",
231
+ "_get_int",
232
+ "_on_post_tool_call",
233
+ "_reset_state",
234
+ "_spill_result",
235
+ ]
@@ -0,0 +1,97 @@
1
+ """Private local storage for spilled tool-result text."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import hashlib
6
+ import os
7
+ import re
8
+ import secrets
9
+ import tempfile
10
+ import uuid
11
+ from pathlib import Path
12
+
13
+ _default_root: Path | None = None
14
+ _process_session_id: str | None = None
15
+ _UNSAFE_NAME = re.compile(r"[^A-Za-z0-9._-]+")
16
+
17
+
18
+ def private_root(configured_root: str | None = None) -> Path:
19
+ """Return the configured root or a lazy private per-process temp root."""
20
+ global _default_root
21
+ if configured_root:
22
+ root = Path(configured_root).expanduser().resolve()
23
+ root.mkdir(mode=0o700, parents=True, exist_ok=True)
24
+ return root
25
+ if _default_root is None:
26
+ _default_root = Path(tempfile.mkdtemp(prefix="code-puppy-spill-"))
27
+ return _default_root
28
+
29
+
30
+ def current_session_id() -> str:
31
+ """Return the active agent session id, with a stable process fallback."""
32
+ global _process_session_id
33
+ try:
34
+ from code_puppy.messaging import get_session_context
35
+
36
+ session_id = get_session_context()
37
+ if session_id:
38
+ return str(session_id)
39
+ except Exception:
40
+ pass
41
+ if _process_session_id is None:
42
+ _process_session_id = uuid.uuid4().hex
43
+ return _process_session_id
44
+
45
+
46
+ def session_dir(root: Path, session_id: str) -> Path:
47
+ """Create and return a private, hashed session directory under ``root``."""
48
+ digest = hashlib.sha256(session_id.encode("utf-8")).hexdigest()[:12]
49
+ directory = root / f"session-{digest}"
50
+ directory.mkdir(mode=0o700, parents=True, exist_ok=True)
51
+ os.chmod(directory, 0o700)
52
+ return directory
53
+
54
+
55
+ def safe_filename(tool_name: str) -> str:
56
+ """Convert an untrusted tool name into one harmless filename segment."""
57
+ raw = f"{tool_name}.txt".replace("\x00", "_")
58
+ safe = _UNSAFE_NAME.sub("_", raw.replace("/", "_").replace("\\", "_"))
59
+ while ".." in safe:
60
+ safe = safe.replace("..", "_")
61
+ safe = safe.strip(".")
62
+ return safe or "tool.txt"
63
+
64
+
65
+ def save_text(content: str, tool_name: str, configured_root: str | None = None) -> Path:
66
+ """Persist ``content`` verbatim with exclusive owner-only creation."""
67
+ root = private_root(configured_root)
68
+ directory = session_dir(root, current_session_id())
69
+ path = directory / f"{secrets.token_hex(6)}-{safe_filename(tool_name)}"
70
+ flags = os.O_WRONLY | os.O_CREAT | os.O_EXCL
71
+ descriptor = os.open(path, flags, 0o600)
72
+ try:
73
+ with os.fdopen(descriptor, "w", encoding="utf-8", newline="") as spill_file:
74
+ descriptor = -1
75
+ spill_file.write(content)
76
+ os.chmod(path, 0o600)
77
+ finally:
78
+ if descriptor >= 0:
79
+ os.close(descriptor)
80
+ return path
81
+
82
+
83
+ def _reset_state() -> None:
84
+ """Forget lazy process state; test cleanup remains the caller's job."""
85
+ global _default_root, _process_session_id
86
+ _default_root = None
87
+ _process_session_id = None
88
+
89
+
90
+ __all__ = [
91
+ "_reset_state",
92
+ "current_session_id",
93
+ "private_root",
94
+ "safe_filename",
95
+ "save_text",
96
+ "session_dir",
97
+ ]
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "code-puppy-core-plugins"
7
- version = "0.0.4"
7
+ version = "0.0.5"
8
8
  description = "Official plugin bundle for Code Puppy"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11,<3.15"
@@ -69,6 +69,7 @@ puppy_spinner = "code_puppy_core_plugins.puppy_spinner.register_callbacks"
69
69
  quick_resume = "code_puppy_core_plugins.quick_resume.register_callbacks"
70
70
  review_pr = "code_puppy_core_plugins.review_pr.register_callbacks"
71
71
  shell_safety = "code_puppy_core_plugins.shell_safety.register_callbacks"
72
+ spill = "code_puppy_core_plugins.spill.register_callbacks"
72
73
  stack_dump = "code_puppy_core_plugins.stack_dump.register_callbacks"
73
74
  statusline = "code_puppy_core_plugins.statusline.register_callbacks"
74
75
  steer_queue = "code_puppy_core_plugins.steer_queue.register_callbacks"