newcode 0.1.1__tar.gz → 0.1.3__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 (287) hide show
  1. {newcode-0.1.1 → newcode-0.1.3}/PKG-INFO +1 -1
  2. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_c_reviewer.py +0 -1
  3. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_code_puppy.py +3 -51
  4. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_code_reviewer.py +0 -1
  5. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_cpp_reviewer.py +0 -1
  6. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_creator_agent.py +11 -19
  7. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_golang_reviewer.py +0 -1
  8. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_helios.py +0 -3
  9. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_javascript_reviewer.py +0 -1
  10. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_pack_leader.py +0 -2
  11. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_planning.py +0 -2
  12. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_python_programmer.py +0 -3
  13. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_python_reviewer.py +0 -1
  14. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_qa_expert.py +0 -1
  15. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_qa_kitten.py +2 -4
  16. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_scheduler.py +1 -2
  17. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_security_auditor.py +0 -1
  18. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_terminal_qa.py +1 -3
  19. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_typescript_reviewer.py +0 -1
  20. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/base_agent.py +2 -20
  21. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/event_stream_handler.py +6 -6
  22. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/pack/bloodhound.py +1 -3
  23. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/pack/husky.py +2 -7
  24. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/pack/retriever.py +0 -2
  25. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/pack/shepherd.py +2 -6
  26. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/pack/terrier.py +0 -2
  27. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/pack/watchdog.py +1 -3
  28. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/prompt_reviewer.py +0 -2
  29. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/cli_runner.py +4 -4
  30. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/autosave_menu.py +7 -7
  31. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/colors_menu.py +20 -22
  32. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/config.py +16 -1
  33. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/managed_server.py +2 -2
  34. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/__init__.py +0 -4
  35. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/message_queue.py +0 -5
  36. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/messages.py +0 -13
  37. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/rich_renderer.py +153 -171
  38. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/__init__.py +1 -64
  39. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/agent_tools.py +1 -1
  40. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/__init__.py +1 -1
  41. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/command_runner.py +0 -43
  42. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/display.py +1 -1
  43. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/tools_content.py +0 -2
  44. {newcode-0.1.1 → newcode-0.1.3}/pyproject.toml +1 -1
  45. {newcode-0.1.1 → newcode-0.1.3}/.gitignore +0 -0
  46. {newcode-0.1.1 → newcode-0.1.3}/LICENSE +0 -0
  47. {newcode-0.1.1 → newcode-0.1.3}/README.md +0 -0
  48. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/__init__.py +0 -0
  49. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/__main__.py +0 -0
  50. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/__init__.py +0 -0
  51. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/agent_manager.py +0 -0
  52. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/json_agent.py +0 -0
  53. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/pack/__init__.py +0 -0
  54. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/agents/subagent_stream_handler.py +0 -0
  55. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/__init__.py +0 -0
  56. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/app.py +0 -0
  57. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/main.py +0 -0
  58. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/pty_manager.py +0 -0
  59. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/routers/__init__.py +0 -0
  60. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/routers/agents.py +0 -0
  61. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/routers/commands.py +0 -0
  62. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/routers/config.py +0 -0
  63. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/routers/sessions.py +0 -0
  64. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/templates/terminal.html +0 -0
  65. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/api/websocket.py +0 -0
  66. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/callbacks.py +0 -0
  67. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/chatgpt_codex_client.py +0 -0
  68. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/claude_cache_client.py +0 -0
  69. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/__init__.py +0 -0
  70. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/add_model_menu.py +0 -0
  71. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/agent_menu.py +0 -0
  72. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/attachments.py +0 -0
  73. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/clipboard.py +0 -0
  74. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/command_handler.py +0 -0
  75. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/command_registry.py +0 -0
  76. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/config_commands.py +0 -0
  77. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/core_commands.py +0 -0
  78. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/diff_menu.py +0 -0
  79. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/file_path_completion.py +0 -0
  80. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/load_context_completion.py +0 -0
  81. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/__init__.py +0 -0
  82. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/base.py +0 -0
  83. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/catalog_server_installer.py +0 -0
  84. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/custom_server_form.py +0 -0
  85. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/custom_server_installer.py +0 -0
  86. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/edit_command.py +0 -0
  87. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/handler.py +0 -0
  88. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/help_command.py +0 -0
  89. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/install_command.py +0 -0
  90. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/install_menu.py +0 -0
  91. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/list_command.py +0 -0
  92. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/logs_command.py +0 -0
  93. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/remove_command.py +0 -0
  94. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/restart_command.py +0 -0
  95. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/search_command.py +0 -0
  96. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/start_all_command.py +0 -0
  97. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/start_command.py +0 -0
  98. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/status_command.py +0 -0
  99. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/stop_all_command.py +0 -0
  100. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/stop_command.py +0 -0
  101. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/test_command.py +0 -0
  102. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/utils.py +0 -0
  103. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp/wizard_utils.py +0 -0
  104. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/mcp_completion.py +0 -0
  105. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/model_picker_completion.py +0 -0
  106. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/model_settings_menu.py +0 -0
  107. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/motd.py +0 -0
  108. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/onboarding_slides.py +0 -0
  109. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/onboarding_wizard.py +0 -0
  110. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/pin_command_completion.py +0 -0
  111. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/prompt_toolkit_completion.py +0 -0
  112. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/session_commands.py +0 -0
  113. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/skills_completion.py +0 -0
  114. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/uc_menu.py +0 -0
  115. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/utils.py +0 -0
  116. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/command_line/wiggum_state.py +0 -0
  117. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/error_logging.py +0 -0
  118. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/gemini_code_assist.py +0 -0
  119. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/gemini_model.py +0 -0
  120. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/hook_engine/README.md +0 -0
  121. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/hook_engine/__init__.py +0 -0
  122. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/hook_engine/aliases.py +0 -0
  123. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/hook_engine/engine.py +0 -0
  124. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/hook_engine/executor.py +0 -0
  125. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/hook_engine/matcher.py +0 -0
  126. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/hook_engine/models.py +0 -0
  127. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/hook_engine/registry.py +0 -0
  128. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/hook_engine/validator.py +0 -0
  129. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/http_utils.py +0 -0
  130. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/keymap.py +0 -0
  131. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/main.py +0 -0
  132. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/__init__.py +0 -0
  133. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/async_lifecycle.py +0 -0
  134. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/blocking_startup.py +0 -0
  135. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/captured_stdio_server.py +0 -0
  136. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/circuit_breaker.py +0 -0
  137. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/config_wizard.py +0 -0
  138. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/dashboard.py +0 -0
  139. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/error_isolation.py +0 -0
  140. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/examples/retry_example.py +0 -0
  141. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/health_monitor.py +0 -0
  142. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/manager.py +0 -0
  143. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/mcp_logs.py +0 -0
  144. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/registry.py +0 -0
  145. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/retry_manager.py +0 -0
  146. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/server_registry_catalog.py +0 -0
  147. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/status_tracker.py +0 -0
  148. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_/system_tools.py +0 -0
  149. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_prompts/__init__.py +0 -0
  150. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/mcp_prompts/hook_creator.py +0 -0
  151. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/bus.py +0 -0
  152. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/commands.py +0 -0
  153. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/markdown_patches.py +0 -0
  154. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/queue_console.py +0 -0
  155. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/renderers.py +0 -0
  156. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/spinner/__init__.py +0 -0
  157. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/spinner/console_spinner.py +0 -0
  158. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/spinner/spinner_base.py +0 -0
  159. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/messaging/subagent_console.py +0 -0
  160. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/model_factory.py +0 -0
  161. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/model_switching.py +0 -0
  162. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/model_utils.py +0 -0
  163. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/models.json +0 -0
  164. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/models_dev_api.json +0 -0
  165. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/models_dev_parser.py +0 -0
  166. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/__init__.py +0 -0
  167. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/__init__.py +0 -0
  168. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/config.py +0 -0
  169. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/discovery.py +0 -0
  170. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/downloader.py +0 -0
  171. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/installer.py +0 -0
  172. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/metadata.py +0 -0
  173. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/prompt_builder.py +0 -0
  174. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/register_callbacks.py +0 -0
  175. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/remote_catalog.py +0 -0
  176. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/skill_catalog.py +0 -0
  177. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/skills_install_menu.py +0 -0
  178. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/agent_skills/skills_menu.py +0 -0
  179. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/__init__.py +0 -0
  180. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/accounts.py +0 -0
  181. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/antigravity_model.py +0 -0
  182. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/config.py +0 -0
  183. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/constants.py +0 -0
  184. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/oauth.py +0 -0
  185. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/register_callbacks.py +0 -0
  186. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/storage.py +0 -0
  187. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/test_plugin.py +0 -0
  188. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/token.py +0 -0
  189. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/transport.py +0 -0
  190. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/antigravity_oauth/utils.py +0 -0
  191. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/chatgpt_oauth/__init__.py +0 -0
  192. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/chatgpt_oauth/config.py +0 -0
  193. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/chatgpt_oauth/oauth_flow.py +0 -0
  194. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/chatgpt_oauth/register_callbacks.py +0 -0
  195. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/chatgpt_oauth/test_plugin.py +0 -0
  196. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/chatgpt_oauth/utils.py +0 -0
  197. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_hooks/__init__.py +0 -0
  198. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_hooks/config.py +0 -0
  199. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_hooks/register_callbacks.py +0 -0
  200. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_oauth/README.md +0 -0
  201. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_oauth/SETUP.md +0 -0
  202. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_oauth/__init__.py +0 -0
  203. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_oauth/config.py +0 -0
  204. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_oauth/register_callbacks.py +0 -0
  205. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_oauth/test_plugin.py +0 -0
  206. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
  207. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/claude_code_oauth/utils.py +0 -0
  208. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/customizable_commands/__init__.py +0 -0
  209. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/customizable_commands/register_callbacks.py +0 -0
  210. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/example_custom_command/README.md +0 -0
  211. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/example_custom_command/register_callbacks.py +0 -0
  212. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/file_permission_handler/__init__.py +0 -0
  213. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/file_permission_handler/register_callbacks.py +0 -0
  214. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/frontend_emitter/__init__.py +0 -0
  215. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/frontend_emitter/emitter.py +0 -0
  216. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/frontend_emitter/register_callbacks.py +0 -0
  217. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/hook_creator/__init__.py +0 -0
  218. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/hook_creator/register_callbacks.py +0 -0
  219. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/hook_manager/__init__.py +0 -0
  220. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/hook_manager/config.py +0 -0
  221. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/hook_manager/hooks_menu.py +0 -0
  222. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/hook_manager/register_callbacks.py +0 -0
  223. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/oauth_puppy_html.py +0 -0
  224. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/scheduler/__init__.py +0 -0
  225. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/scheduler/register_callbacks.py +0 -0
  226. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/scheduler/scheduler_menu.py +0 -0
  227. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/scheduler/scheduler_wizard.py +0 -0
  228. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/shell_safety/__init__.py +0 -0
  229. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/shell_safety/agent_shell_safety.py +0 -0
  230. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/shell_safety/command_cache.py +0 -0
  231. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/shell_safety/register_callbacks.py +0 -0
  232. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/synthetic_status/__init__.py +0 -0
  233. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/synthetic_status/register_callbacks.py +0 -0
  234. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/synthetic_status/status_api.py +0 -0
  235. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/universal_constructor/__init__.py +0 -0
  236. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/universal_constructor/models.py +0 -0
  237. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/universal_constructor/register_callbacks.py +0 -0
  238. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/universal_constructor/registry.py +0 -0
  239. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/plugins/universal_constructor/sandbox.py +0 -0
  240. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/prompts/antigravity_system_prompt.md +0 -0
  241. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/pydantic_patches.py +0 -0
  242. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/reopenable_async_client.py +0 -0
  243. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/round_robin_model.py +0 -0
  244. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/scheduler/__init__.py +0 -0
  245. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/scheduler/__main__.py +0 -0
  246. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/scheduler/cli.py +0 -0
  247. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/scheduler/config.py +0 -0
  248. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/scheduler/daemon.py +0 -0
  249. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/scheduler/executor.py +0 -0
  250. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/scheduler/platform.py +0 -0
  251. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/scheduler/platform_unix.py +0 -0
  252. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/scheduler/platform_win.py +0 -0
  253. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/session_storage.py +0 -0
  254. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/status_display.py +0 -0
  255. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/summarization_agent.py +0 -0
  256. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/terminal_utils.py +0 -0
  257. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/__init__.py +0 -0
  258. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/constants.py +0 -0
  259. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/demo_tui.py +0 -0
  260. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/handler.py +0 -0
  261. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/models.py +0 -0
  262. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/registration.py +0 -0
  263. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/renderers.py +0 -0
  264. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/terminal_ui.py +0 -0
  265. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/theme.py +0 -0
  266. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/ask_user_question/tui_loop.py +0 -0
  267. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/browser_control.py +0 -0
  268. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/browser_interactions.py +0 -0
  269. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/browser_locators.py +0 -0
  270. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/browser_manager.py +0 -0
  271. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/browser_navigation.py +0 -0
  272. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/browser_screenshot.py +0 -0
  273. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/browser_scripts.py +0 -0
  274. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/browser_workflows.py +0 -0
  275. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/chromium_terminal_manager.py +0 -0
  276. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/terminal_command_tools.py +0 -0
  277. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/terminal_screenshot_tools.py +0 -0
  278. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/browser/terminal_tools.py +0 -0
  279. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/common.py +0 -0
  280. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/file_modifications.py +0 -0
  281. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/file_operations.py +0 -0
  282. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/scheduler_tools.py +0 -0
  283. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/skills_tools.py +0 -0
  284. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/subagent_context.py +0 -0
  285. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/tools/universal_constructor.py +0 -0
  286. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/uvx_detection.py +0 -0
  287. {newcode-0.1.1 → newcode-0.1.3}/code_puppy/version_checker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: newcode
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary: AI-powered code generation agent - a fedstew fork of code-puppy
5
5
  Project-URL: repository, https://github.com/janfeddersen-wq/new_code
6
6
  Project-URL: HomePage, https://github.com/janfeddersen-wq/new_code
@@ -21,7 +21,6 @@ class CReviewerAgent(BaseAgent):
21
21
  def get_available_tools(self) -> list[str]:
22
22
  """Reviewers need read-only inspection helpers plus agent collaboration."""
23
23
  return [
24
- "agent_share_your_reasoning",
25
24
  "agent_run_shell_command",
26
25
  "list_files",
27
26
  "read_file",
@@ -32,64 +32,16 @@ class CodePuppyAgent(BaseAgent):
32
32
  "edit_file",
33
33
  "delete_file",
34
34
  "agent_run_shell_command",
35
- "agent_share_your_reasoning",
36
35
  "ask_user_question",
37
36
  "activate_skill",
38
37
  "list_or_search_skills",
39
38
  "load_image_for_analysis",
40
39
  ]
41
40
 
42
- def _has_extended_thinking(self) -> bool:
43
- """Check if the current model has extended thinking active."""
44
- from code_puppy.tools import has_extended_thinking_active
45
-
46
- return has_extended_thinking_active(self.get_model_name())
47
-
48
- def _get_reasoning_prompt_sections(self) -> dict[str, str]:
49
- """Return prompt sections that vary based on extended thinking state.
50
-
51
- When extended thinking is active the model already exposes its
52
- chain-of-thought, so we drop the share_your_reasoning tool docs
53
- and adjust the "important rules" accordingly.
54
- """
55
- if self._has_extended_thinking():
56
- return {
57
- "reasoning_tool_section": "",
58
- "pre_tool_rule": (
59
- "- Use your extended thinking to reason through problems "
60
- "before acting — plan your approach, then execute"
61
- ),
62
- "loop_rule": (
63
- "- You're encouraged to loop between reasoning, file "
64
- "tools, and run_shell_command to test output in order "
65
- "to write programs"
66
- ),
67
- }
68
- return {
69
- "reasoning_tool_section": (
70
- "\nReasoning & Explanation:\n"
71
- " - share_your_reasoning(reasoning, next_steps=None): "
72
- "Use this to explicitly share your thought process and "
73
- "planned next steps\n"
74
- ),
75
- "pre_tool_rule": (
76
- "- Before every other tool use, you must use "
77
- '"share_your_reasoning" to explain your thought process '
78
- "and planned next steps"
79
- ),
80
- "loop_rule": (
81
- "- You're encouraged to loop between "
82
- "share_your_reasoning, file tools, and "
83
- "run_shell_command to test output in order to write "
84
- "programs"
85
- ),
86
- }
87
-
88
41
  def get_system_prompt(self) -> str:
89
42
  """Get the Code Agent's full system prompt."""
90
43
  agent_name = get_agent_name()
91
44
  user_name = get_user_name()
92
- r = self._get_reasoning_prompt_sections()
93
45
 
94
46
  result = f"""
95
47
  You are {agent_name}, a code agent assisting {user_name} with software development tasks. You have access to tools for writing, modifying, and executing code. You MUST use the provided tools to complete tasks rather than just describing what to do.
@@ -117,7 +69,7 @@ File Operations:
117
69
  - edit_file(payload): Swiss-army file editor. Prefer ReplacementsPayload for targeted edits. Keep diffs small (100-300 lines). Never paste entire files in old_str.
118
70
  - delete_file(file_path): Remove files when needed
119
71
  - grep(search_string, directory): Ripgrep-powered search across files (max 200 matches)
120
- {r["reasoning_tool_section"]}
72
+
121
73
  System Operations:
122
74
  - run_shell_command(command, cwd, timeout, background): Execute commands, run tests, start services. Use background=True for long-running servers.
123
75
  - For JS/TS test suites use `--silent` flag. For single test files, run without it. Pytest needs no special flags.
@@ -132,11 +84,11 @@ User Interaction:
132
84
 
133
85
  Important rules:
134
86
  - You MUST use tools -- DO NOT just output code or descriptions
135
- {r["pre_tool_rule"]}
87
+ - Reason through problems before acting -- plan your approach, then execute
136
88
  - Check if files exist before modifying or deleting them
137
89
  - Prefer MODIFYING existing files (edit_file) over creating new ones
138
90
  - After system operations, always explain the results
139
- {r["loop_rule"]}
91
+ - You're encouraged to loop between reasoning, file tools, and run_shell_command to test output in order to write programs
140
92
  - Continue autonomously unless user input is definitively required
141
93
  - Solutions should be production-ready, maintainable, and follow best practices
142
94
  """
@@ -21,7 +21,6 @@ class CodeQualityReviewerAgent(BaseAgent):
21
21
  def get_available_tools(self) -> list[str]:
22
22
  """Reviewers stick to read-only analysis helpers plus agent collaboration."""
23
23
  return [
24
- "agent_share_your_reasoning",
25
24
  "agent_run_shell_command",
26
25
  "list_files",
27
26
  "read_file",
@@ -19,7 +19,6 @@ class CppReviewerAgent(BaseAgent):
19
19
  def get_available_tools(self) -> list[str]:
20
20
  """Reviewers need read-only inspection helpers plus agent collaboration."""
21
21
  return [
22
- "agent_share_your_reasoning",
23
22
  "agent_run_shell_command",
24
23
  "list_files",
25
24
  "read_file",
@@ -158,8 +158,7 @@ Users can optionally pin a specific model to their agent to override the global
158
158
  ### 💻 **Command Execution** (for agents running programs):
159
159
  - `agent_run_shell_command` - Execute terminal commands and scripts
160
160
 
161
- ### 🧠 **Communication & Reasoning** (for all agents):
162
- - `agent_share_your_reasoning` - Explain thought processes (recommended for most agents)
161
+ ### 🧠 **Communication & Coordination** (for all agents):
163
162
  - `list_agents` - List all available sub-agents (recommended for agent managers)
164
163
  - `invoke_agent` - Invoke other agents with specific prompts (recommended for agent managers)
165
164
 
@@ -250,9 +249,6 @@ npm test -- ./path/to/test/file.tsx # or something like this.
250
249
 
251
250
  DONT USE THE TERMINAL TOOL TO RUN THE CODE WE WROTE UNLESS THE USER ASKS YOU TO.
252
251
 
253
- #### `agent_share_your_reasoning(reasoning, next_steps=None)`
254
- Use this to explicitly share your thought process and planned next steps
255
-
256
252
  #### `list_agents()`
257
253
  Use this to list all available sub-agents that can be invoked
258
254
 
@@ -317,11 +313,10 @@ Best-practice guidelines for `invoke_agent`:
317
313
 
318
314
  ### Important Rules for Agent Creation:
319
315
  - You MUST use tools to accomplish tasks - DO NOT just output code or descriptions
320
- - Before every other tool use, you must use "share_your_reasoning" to explain your thought process and planned next steps
321
316
  - Check if files exist before trying to modify or delete them
322
317
  - Whenever possible, prefer to MODIFY existing files first (use `edit_file`) before creating brand-new files or deleting existing ones.
323
318
  - After using system operations tools, always explain the results
324
- - You're encouraged to loop between share_your_reasoning, file tools, and run_shell_command to test output in order to write programs
319
+ - You're encouraged to loop between file tools and run_shell_command to test output in order to write programs
325
320
  - Aim to continue operations independently unless user input is definitively required.
326
321
 
327
322
  Your solutions should be production-ready, maintainable, and follow best practices for the chosen language.
@@ -340,7 +335,6 @@ Available templates for tools:
340
335
  - `delete_file`: Standard file deletion operations
341
336
  - `grep`: Standard text search operations
342
337
  - `agent_run_shell_command`: Standard shell command execution
343
- - `agent_share_your_reasoning`: Standard reasoning sharing operations
344
338
  - `list_agents`: Standard agent listing operations
345
339
  - `invoke_agent`: Standard agent invocation operations
346
340
 
@@ -407,12 +401,12 @@ This detailed documentation should be copied verbatim into any agent that will b
407
401
 
408
402
  ## Tool Suggestion Examples:
409
403
 
410
- **For "Python code helper":** → Suggest `read_file`, `edit_file`, `list_files`, `agent_run_shell_command`, `agent_share_your_reasoning`
411
- **For "Documentation writer":** → Suggest `read_file`, `edit_file`, `list_files`, `grep`, `agent_share_your_reasoning`
412
- **For "System admin helper":** → Suggest `agent_run_shell_command`, `list_files`, `read_file`, `agent_share_your_reasoning`
413
- **For "Code reviewer":** → Suggest `list_files`, `read_file`, `grep`, `agent_share_your_reasoning`
414
- **For "File organizer":** → Suggest `list_files`, `read_file`, `edit_file`, `delete_file`, `agent_share_your_reasoning`
415
- **For "Agent orchestrator":** → Suggest `list_agents`, `invoke_agent`, `agent_share_your_reasoning`
404
+ **For "Python code helper":** → Suggest `read_file`, `edit_file`, `list_files`, `agent_run_shell_command`
405
+ **For "Documentation writer":** → Suggest `read_file`, `edit_file`, `list_files`, `grep`
406
+ **For "System admin helper":** → Suggest `agent_run_shell_command`, `list_files`, `read_file`
407
+ **For "Code reviewer":** → Suggest `list_files`, `read_file`, `grep`
408
+ **For "File organizer":** → Suggest `list_files`, `read_file`, `edit_file`, `delete_file`
409
+ **For "Agent orchestrator":** → Suggest `list_agents`, `invoke_agent`
416
410
 
417
411
  ## Model Selection Guidance:
418
412
 
@@ -428,7 +422,6 @@ This detailed documentation should be copied verbatim into any agent that will b
428
422
  - Include relevant emoji in display_name for personality
429
423
  - Keep system prompts focused and specific
430
424
  - Only include tools the agent actually needs (but don't be too restrictive)
431
- - Always include `agent_share_your_reasoning` for transparency
432
425
  - **Include complete tool documentation examples** for all selected tools
433
426
  - Test agents after creation
434
427
 
@@ -447,7 +440,7 @@ This detailed documentation should be copied verbatim into any agent that will b
447
440
  "You help beginners learn Python step by step.",
448
441
  "Always encourage learning and provide constructive feedback."
449
442
  ],
450
- "tools": ["read_file", "edit_file", "agent_share_your_reasoning"],
443
+ "tools": ["read_file", "edit_file"],
451
444
  "user_prompt": "What Python concept would you like to learn today?",
452
445
  "model": "Cerebras-GLM-4.6" // Optional: Pin to a specific code model
453
446
  }}
@@ -465,7 +458,7 @@ This detailed documentation should be copied verbatim into any agent that will b
465
458
  "You provide constructive feedback with specific suggestions.",
466
459
  "You follow language-specific best practices and conventions."
467
460
  ],
468
- "tools": ["list_files", "read_file", "grep", "agent_share_your_reasoning"],
461
+ "tools": ["list_files", "read_file", "grep"],
469
462
  "user_prompt": "Which code would you like me to review?",
470
463
  "model": "claude-4-0-sonnet" // Optional: Pin to a model good at analysis
471
464
  }}
@@ -482,7 +475,7 @@ This detailed documentation should be copied verbatim into any agent that will b
482
475
  "You help users accomplish tasks by delegating to the appropriate sub-agent.",
483
476
  "You coordinate between multiple agents to get complex work done."
484
477
  ],
485
- "tools": ["list_agents", "invoke_agent", "agent_share_your_reasoning"],
478
+ "tools": ["list_agents", "invoke_agent"],
486
479
  "user_prompt": "What can I help you accomplish today?",
487
480
  "model": "gpt-5" // Optional: Pin to a reasoning-focused model
488
481
  }}
@@ -522,7 +515,6 @@ Your goal is to take users from idea to working agent in one smooth conversation
522
515
  "list_files",
523
516
  "read_file",
524
517
  "edit_file",
525
- "agent_share_your_reasoning",
526
518
  "ask_user_question",
527
519
  "list_agents",
528
520
  "invoke_agent",
@@ -21,7 +21,6 @@ class GolangReviewerAgent(BaseAgent):
21
21
  def get_available_tools(self) -> list[str]:
22
22
  """Reviewers need read and reasoning helpers plus agent collaboration."""
23
23
  return [
24
- "agent_share_your_reasoning",
25
24
  "agent_run_shell_command",
26
25
  "list_files",
27
26
  "read_file",
@@ -30,7 +30,6 @@ class HeliosAgent(BaseAgent):
30
30
  "edit_file",
31
31
  "delete_file",
32
32
  "agent_run_shell_command",
33
- "agent_share_your_reasoning",
34
33
  ]
35
34
 
36
35
  def get_system_prompt(self) -> str:
@@ -73,7 +72,6 @@ You approach each request with the mindset of a craftsman:
73
72
 
74
73
  - **read_file** / **edit_file** / **list_files** / **grep**: For understanding context and making targeted changes
75
74
  - **agent_run_shell_command**: For testing, validation, and system interaction
76
- - **agent_share_your_reasoning**: To illuminate your thought process
77
75
 
78
76
  ## YOUR VOICE
79
77
 
@@ -83,7 +81,6 @@ When you create something, take a moment to appreciate it. You have just expande
83
81
 
84
82
  ## IMPORTANT GUIDELINES
85
83
 
86
- - Always use `agent_share_your_reasoning` before major actions to explain your creative process
87
84
  - Tools you create should be clean, well-documented, and follow Python best practices
88
85
  - Include proper error handling in your creations
89
86
  - Use namespaces to organize related tools (e.g., "api.weather", "utils.hasher")
@@ -21,7 +21,6 @@ class JavaScriptReviewerAgent(BaseAgent):
21
21
  def get_available_tools(self) -> list[str]:
22
22
  """Reviewers need read-only inspection helpers plus agent collaboration."""
23
23
  return [
24
- "agent_share_your_reasoning",
25
24
  "agent_run_shell_command",
26
25
  "list_files",
27
26
  "read_file",
@@ -33,8 +33,6 @@ class PackLeaderAgent(BaseAgent):
33
33
  "grep",
34
34
  # Shell for bd and git commands
35
35
  "agent_run_shell_command",
36
- # Transparency
37
- "agent_share_your_reasoning",
38
36
  # Agent coordination
39
37
  "list_agents",
40
38
  "invoke_agent",
@@ -30,7 +30,6 @@ class PlanningAgent(BaseAgent):
30
30
  "list_files",
31
31
  "read_file",
32
32
  "grep",
33
- "agent_share_your_reasoning",
34
33
  "ask_user_question",
35
34
  "list_agents",
36
35
  "invoke_agent",
@@ -151,7 +150,6 @@ Ready to proceed? Say "execute plan" (or any equivalent like "go ahead", "let's
151
150
  - **Check External Tools**: Use `list_agents()` to identify available web search, MCP, or other external tools
152
151
  - **Research When Available**: Use external tools for problem space research when available
153
152
  - **Search Strategically**: Use `grep` to find relevant patterns or existing implementations
154
- - **Share Your Thinking**: Use `agent_share_your_reasoning` to explain your planning process
155
153
  - **Coordinate**: Use `invoke_agent` to delegate specific tasks to specialized agents when needed
156
154
 
157
155
  Remember: You're the strategic planner, not the implementer. Your job is to create crystal-clear roadmaps that others can follow. Focus on the "what" and "why" - let the specialized agents handle the "how".
@@ -29,7 +29,6 @@ class PythonProgrammerAgent(BaseAgent):
29
29
  "edit_file",
30
30
  "delete_file",
31
31
  "agent_run_shell_command",
32
- "agent_share_your_reasoning",
33
32
  "activate_skill",
34
33
  "list_or_search_skills",
35
34
  ]
@@ -159,8 +158,6 @@ Tool Usage:
159
158
  - Use agent_run_shell_command for running Python tools (pytest, mypy, black, etc.)
160
159
  - Use edit_file to write clean, well-structured Python code
161
160
  - Use read_file and grep to understand existing codebases
162
- - Use agent_share_your_reasoning to explain your architectural decisions
163
-
164
161
  Remember: You're not just writing code - you're crafting maintainable, performant, and secure Python solutions that will make future developers (and your future self) grateful. Every line should have purpose, every function should have clarity, and every module should have cohesion.
165
162
 
166
163
  Now go forth and write some phenomenal Python! 🐍✨
@@ -21,7 +21,6 @@ class PythonReviewerAgent(BaseAgent):
21
21
  def get_available_tools(self) -> list[str]:
22
22
  """Reviewers need read-only introspection helpers plus agent collaboration."""
23
23
  return [
24
- "agent_share_your_reasoning",
25
24
  "agent_run_shell_command",
26
25
  "list_files",
27
26
  "read_file",
@@ -21,7 +21,6 @@ class QAExpertAgent(BaseAgent):
21
21
  def get_available_tools(self) -> list[str]:
22
22
  """QA expert needs inspection helpers plus agent collaboration."""
23
23
  return [
24
- "agent_share_your_reasoning",
25
24
  "agent_run_shell_command",
26
25
  "list_files",
27
26
  "read_file",
@@ -21,8 +21,6 @@ class QualityAssuranceKittenAgent(BaseAgent):
21
21
  def get_available_tools(self) -> list[str]:
22
22
  """Get the list of tools available to Web Browser Puppy."""
23
23
  return [
24
- # Core agent tools
25
- "agent_share_your_reasoning",
26
24
  # Browser control and initialization
27
25
  "browser_initialize",
28
26
  "browser_close",
@@ -90,7 +88,7 @@ You specialize in:
90
88
  For any browser task, follow this approach:
91
89
  1. **Check Existing Workflows**: Use browser_list_workflows to see if similar tasks have been solved before
92
90
  2. **Learn from History**: If relevant workflows exist, use browser_read_workflow to review proven strategies
93
- 3. **Plan & Reason**: Use share_your_reasoning to break down complex tasks and explain your approach
91
+ 3. **Plan & Reason**: Break down complex tasks and explain your approach
94
92
  4. **Initialize**: Always start with browser_initialize if browser isn't running
95
93
  5. **Navigate**: Use browser_navigate to reach the target page
96
94
  6. **Discover**: Use semantic locators (PREFERRED) for element discovery
@@ -199,7 +197,7 @@ For any browser task, follow this approach:
199
197
  - **ALWAYS close the browser at the end of every task** using browser_close
200
198
  - **PREFER semantic locators over XPath** - they're more maintainable and accessible
201
199
  - **Use visual verification for critical actions** - highlight elements and take screenshots
202
- - **Be explicit about your reasoning** - use share_your_reasoning for complex workflows
200
+ - **Be explicit about your reasoning** - explain your approach for complex workflows
203
201
  - **Handle errors gracefully** - provide helpful debugging information
204
202
  - **Follow accessibility best practices** - your automation should work for everyone
205
203
  - **Document your successes** - Save working patterns with browser_save_workflow for future reuse
@@ -33,8 +33,7 @@ class SchedulerAgent(BaseAgent):
33
33
  "list_files",
34
34
  "read_file",
35
35
  "grep",
36
- # Reasoning & User Interaction
37
- "agent_share_your_reasoning",
36
+ # User Interaction
38
37
  "ask_user_question",
39
38
  # Scheduler-specific tools
40
39
  "scheduler_list_tasks",
@@ -21,7 +21,6 @@ class SecurityAuditorAgent(BaseAgent):
21
21
  def get_available_tools(self) -> list[str]:
22
22
  """Auditor needs inspection helpers plus agent collaboration."""
23
23
  return [
24
- "agent_share_your_reasoning",
25
24
  "agent_run_shell_command",
26
25
  "list_files",
27
26
  "read_file",
@@ -32,8 +32,6 @@ class TerminalQAAgent(BaseAgent):
32
32
  by clicking on DOM elements like in a web browser.
33
33
  """
34
34
  return [
35
- # Core agent tools
36
- "agent_share_your_reasoning",
37
35
  # Terminal connection tools
38
36
  "start_api_server",
39
37
  "terminal_check_server",
@@ -271,7 +269,7 @@ terminal_run_command("some text") # Type and press Enter
271
269
  - Compare against mockups only when specifically requested
272
270
 
273
271
  ### 4. Structured Reporting
274
- Always use `agent_share_your_reasoning` to explain:
272
+ Always explain:
275
273
  - What you're testing
276
274
  - What you observed
277
275
  - Whether the test passed or failed
@@ -21,7 +21,6 @@ class TypeScriptReviewerAgent(BaseAgent):
21
21
  def get_available_tools(self) -> list[str]:
22
22
  """Reviewers need read-only inspection helpers plus agent collaboration."""
23
23
  return [
24
- "agent_share_your_reasoning",
25
24
  "agent_run_shell_command",
26
25
  "list_files",
27
26
  "read_file",
@@ -1302,11 +1302,7 @@ class BaseAgent(ABC):
1302
1302
 
1303
1303
  def reload_code_generation_agent(self, message_group: Optional[str] = None):
1304
1304
  """Force-reload the pydantic-ai Agent based on current config and model."""
1305
- from code_puppy.tools import (
1306
- EXTENDED_THINKING_PROMPT_NOTE,
1307
- has_extended_thinking_active,
1308
- register_tools_for_agent,
1309
- )
1305
+ from code_puppy.tools import register_tools_for_agent
1310
1306
 
1311
1307
  if message_group is None:
1312
1308
  message_group = str(uuid.uuid4())
@@ -1332,11 +1328,6 @@ class BaseAgent(ABC):
1332
1328
  # Handle claude-code models: swap instructions (prompt prepending happens in run_with_mcp)
1333
1329
  from code_puppy.model_utils import prepare_prompt_for_model
1334
1330
 
1335
- # When extended thinking is active, nudge the model to think between
1336
- # tool calls (the share_your_reasoning tool is stripped in this case).
1337
- if has_extended_thinking_active(resolved_model_name):
1338
- instructions += EXTENDED_THINKING_PROMPT_NOTE
1339
-
1340
1331
  prepared = prepare_prompt_for_model(
1341
1332
  model_name, instructions, "", prepend_system_to_user=False
1342
1333
  )
@@ -1485,11 +1476,7 @@ class BaseAgent(ABC):
1485
1476
  A configured PydanticAgent (or DBOSAgent wrapper) with the custom output_type.
1486
1477
  """
1487
1478
  from code_puppy.model_utils import prepare_prompt_for_model
1488
- from code_puppy.tools import (
1489
- EXTENDED_THINKING_PROMPT_NOTE,
1490
- has_extended_thinking_active,
1491
- register_tools_for_agent,
1492
- )
1479
+ from code_puppy.tools import register_tools_for_agent
1493
1480
 
1494
1481
  model_name = self.get_model_name()
1495
1482
  models_config = ModelFactory.load_config()
@@ -1510,11 +1497,6 @@ class BaseAgent(ABC):
1510
1497
  )
1511
1498
  instructions = prepared.instructions
1512
1499
 
1513
- # When extended thinking is active, nudge the model to think between
1514
- # tool calls (the share_your_reasoning tool is stripped in this case).
1515
- if has_extended_thinking_active(resolved_model_name):
1516
- instructions += EXTENDED_THINKING_PROMPT_NOTE
1517
-
1518
1500
  global _reload_count
1519
1501
  _reload_count += 1
1520
1502
 
@@ -134,11 +134,11 @@ async def event_stream_handler(
134
134
  # Clear line and print newline before banner
135
135
  console.print(" " * 50, end="\r")
136
136
  console.print() # Newline before banner
137
- # Bold banner with configurable color and lightning bolt
137
+ # Left-border banner with configurable color
138
138
  thinking_color = get_banner_color("thinking")
139
139
  console.print(
140
140
  Text.from_markup(
141
- f"[bold white on {thinking_color}] THINKING [/bold white on {thinking_color}] [dim]\u26a1 "
141
+ f"[{thinking_color}]│[/{thinking_color}] [bold {thinking_color}]thinking[/bold {thinking_color}] [dim]"
142
142
  ),
143
143
  end="",
144
144
  )
@@ -156,7 +156,7 @@ async def event_stream_handler(
156
156
  response_color = get_banner_color("agent_response")
157
157
  console.print(
158
158
  Text.from_markup(
159
- f"[bold white on {response_color}] AGENT RESPONSE [/bold white on {response_color}]"
159
+ f"[{response_color}]│[/{response_color}] [bold {response_color}]agent response[/bold {response_color}]"
160
160
  )
161
161
  )
162
162
  did_stream_anything = True
@@ -275,15 +275,15 @@ async def event_stream_handler(
275
275
  # Use stored tool name for display
276
276
  tool_name = tool_names.get(event.index, "")
277
277
  count = token_count[event.index]
278
- # Display with tool wrench icon and tool name
278
+ # Display tool name
279
279
  if tool_name:
280
280
  console.print(
281
- f" \U0001f527 Calling {tool_name}... {count} token(s) ",
281
+ f" Calling {tool_name}... {count} token(s) ",
282
282
  end="\r",
283
283
  )
284
284
  else:
285
285
  console.print(
286
- f" \U0001f527 Calling tool... {count} token(s) ",
286
+ f" Calling tool... {count} token(s) ",
287
287
  end="\r",
288
288
  )
289
289
 
@@ -29,8 +29,6 @@ class BloodhoundAgent(BaseAgent):
29
29
  return [
30
30
  # Shell for bd commands
31
31
  "agent_run_shell_command",
32
- # Transparency
33
- "agent_share_your_reasoning",
34
32
  # Read files to understand issue context
35
33
  "read_file",
36
34
  ]
@@ -237,7 +235,7 @@ bd create "Token validation middleware" -d "Verify JWT on protected routes" -t t
237
235
  2. **Leave clear records**: Good descriptions and comments help the team
238
236
  3. **Track everything in bd**: It is the single source of truth
239
237
  4. **Follow dependencies**: They define the execution order
240
- 5. **Report what you find**: Use `agent_share_your_reasoning` liberally
238
+ 5. **Report what you find**: Communicate your reasoning clearly
241
239
  6. **Atomic over epic**: Many small issues beat one large monolith
242
240
 
243
241
  ## EXAMPLE SESSION
@@ -33,8 +33,6 @@ class HuskyAgent(BaseAgent):
33
33
  "delete_file",
34
34
  # Shell for builds, tests, git
35
35
  "agent_run_shell_command",
36
- # Transparency
37
- "agent_share_your_reasoning",
38
36
  # Skills
39
37
  "activate_skill",
40
38
  "list_or_search_skills",
@@ -76,7 +74,6 @@ Follow this pattern for every task:
76
74
  -> grep() to find related code patterns
77
75
 
78
76
  4. PLAN YOUR APPROACH
79
- -> share_your_reasoning() with your approach
80
77
  -> Break down into small, manageable steps
81
78
  -> Identify files to create/modify
82
79
 
@@ -275,10 +272,8 @@ list_files("../bd-15/src")
275
272
  read_file("../bd-15/src/routes/index.ts")
276
273
 
277
274
  # Step 2: Plan
278
- share_your_reasoning(
279
- reasoning="Found existing auth structure. Will add login route following the same pattern as register.",
280
- next_steps=["Create login endpoint", "Add JWT generation", "Write tests"]
281
- )
275
+ # Found existing auth structure. Will add login route following the same pattern as register.
276
+ # Next steps: Create login endpoint, Add JWT generation, Write tests
282
277
 
283
278
  # Step 3: Implement
284
279
  edit_file(payload={{"file_path": "../bd-15/src/routes/auth.ts", "replacements": [...]}})
@@ -26,8 +26,6 @@ class RetrieverAgent(BaseAgent):
26
26
  return [
27
27
  # Shell for git commands
28
28
  "agent_run_shell_command",
29
- # Transparency
30
- "agent_share_your_reasoning",
31
29
  # File access for reviewing changes and conflicts
32
30
  "read_file",
33
31
  # Find related code
@@ -31,8 +31,6 @@ class ShepherdAgent(BaseAgent):
31
31
  "grep",
32
32
  # Run linters, type checkers, tests
33
33
  "agent_run_shell_command",
34
- # Explain review feedback
35
- "agent_share_your_reasoning",
36
34
  ]
37
35
 
38
36
  def get_system_prompt(self) -> str:
@@ -312,10 +310,8 @@ run_shell_command("npx tsc --noEmit", cwd="../bd-15")
312
310
  run_shell_command("npm test -- --silent", cwd="../bd-15")
313
311
 
314
312
  # Step 6: Share verdict
315
- share_your_reasoning(
316
- reasoning="Code looks solid. Good error handling, tests pass...",
317
- next_steps=["Approve with minor suggestions"]
318
- )
313
+ # Code looks solid. Good error handling, tests pass.
314
+ # Next: Approve with minor suggestions.
319
315
  ```
320
316
 
321
317
  Be firm but fair. Be thorough but efficient. Be critical but kind.
@@ -26,8 +26,6 @@ class TerrierAgent(BaseAgent):
26
26
  return [
27
27
  # Shell for git commands
28
28
  "agent_run_shell_command",
29
- # Transparency
30
- "agent_share_your_reasoning",
31
29
  # Check worktree contents
32
30
  "list_files",
33
31
  ]
@@ -35,8 +35,6 @@ class WatchdogAgent(BaseAgent):
35
35
  "grep",
36
36
  # Run the tests
37
37
  "agent_run_shell_command",
38
- # Explain QA findings
39
- "agent_share_your_reasoning",
40
38
  ]
41
39
 
42
40
  def get_system_prompt(self) -> str:
@@ -314,7 +312,7 @@ cargo test oauth # Tests matching "oauth"
314
312
  4. **Check BOTH new and existing tests** - Changes can break things
315
313
  5. **Quality over quantity** - 5 good tests beat 20 bad ones
316
314
  6. **Edge cases matter** - Happy path alone is not enough
317
- 7. **Report everything** - Use `agent_share_your_reasoning` liberally
315
+ 7. **Report everything** - Communicate your reasoning clearly
318
316
 
319
317
  ## EXAMPLE SESSION
320
318
 
@@ -30,7 +30,6 @@ class PromptReviewerAgent(BaseAgent):
30
30
  "list_files",
31
31
  "read_file",
32
32
  "grep",
33
- "agent_share_your_reasoning",
34
33
  "agent_run_shell_command",
35
34
  ]
36
35
 
@@ -98,7 +97,6 @@ Analyze prompt quality across 5 key dimensions and provide actionable improvemen
98
97
  - **list_files**: Prompt references project structure or files
99
98
  - **read_file**: Need to analyze existing code or documentation
100
99
  - **grep**: Find similar patterns or existing implementations
101
- - **agent_share_your_reasoning**: Explain complex review decisions
102
100
  - **invoke_agent**: Consult domain specialists for context-specific issues
103
101
 
104
102
  ### Project-Aware Analysis: