code-puppy 0.0.651__tar.gz → 0.0.652__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 (512) hide show
  1. {code_puppy-0.0.651 → code_puppy-0.0.652}/PKG-INFO +1 -1
  2. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/config_commands.py +37 -36
  3. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/config.py +3 -2
  4. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/locales/en-US.json +29 -1
  5. {code_puppy-0.0.651 → code_puppy-0.0.652}/pyproject.toml +1 -1
  6. {code_puppy-0.0.651 → code_puppy-0.0.652}/.gitignore +0 -0
  7. {code_puppy-0.0.651 → code_puppy-0.0.652}/LICENSE +0 -0
  8. {code_puppy-0.0.651 → code_puppy-0.0.652}/README.md +0 -0
  9. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/__init__.py +0 -0
  10. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/__main__.py +0 -0
  11. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/__init__.py +0 -0
  12. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/_builder.py +0 -0
  13. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/_compaction.py +0 -0
  14. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/_diagnostics.py +0 -0
  15. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/_history.py +0 -0
  16. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/_key_listeners.py +0 -0
  17. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/_non_streaming_render.py +0 -0
  18. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/_run_signals.py +0 -0
  19. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/_runtime.py +0 -0
  20. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/_steer_processor.py +0 -0
  21. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/agent_code_puppy.py +0 -0
  22. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/agent_creator_agent.py +0 -0
  23. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/agent_helios.py +0 -0
  24. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/agent_manager.py +0 -0
  25. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/agent_planning.py +0 -0
  26. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/agent_qa_kitten.py +0 -0
  27. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/base_agent.py +0 -0
  28. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/event_stream_handler.py +0 -0
  29. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/json_agent.py +0 -0
  30. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/retry_profiles.py +0 -0
  31. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/run_stats.py +0 -0
  32. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/smooth_stream.py +0 -0
  33. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/agents/subagent_stream_handler.py +0 -0
  34. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/callbacks.py +0 -0
  35. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/chatgpt_codex_client.py +0 -0
  36. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/claude_cache_client.py +0 -0
  37. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/cli_runner.py +0 -0
  38. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/__init__.py +0 -0
  39. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/add_model_menu.py +0 -0
  40. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/agent_menu.py +0 -0
  41. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/attachments.py +0 -0
  42. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/autosave_menu.py +0 -0
  43. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/autosave_search.py +0 -0
  44. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/clipboard.py +0 -0
  45. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/colors_menu.py +0 -0
  46. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/command_handler.py +0 -0
  47. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/command_registry.py +0 -0
  48. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/config_apply.py +0 -0
  49. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/core_commands.py +0 -0
  50. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/diff_menu.py +0 -0
  51. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/file_index.py +0 -0
  52. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/file_path_completion.py +0 -0
  53. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/image_utils.py +0 -0
  54. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/judges_menu.py +0 -0
  55. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/load_context_completion.py +0 -0
  56. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/__init__.py +0 -0
  57. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/base.py +0 -0
  58. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/catalog_server_installer.py +0 -0
  59. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/custom_server_form.py +0 -0
  60. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/custom_server_installer.py +0 -0
  61. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/edit_command.py +0 -0
  62. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/handler.py +0 -0
  63. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/help_command.py +0 -0
  64. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/install_command.py +0 -0
  65. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/install_menu.py +0 -0
  66. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/list_command.py +0 -0
  67. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/logs_command.py +0 -0
  68. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/remove_command.py +0 -0
  69. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/restart_command.py +0 -0
  70. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/search_command.py +0 -0
  71. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/silence_warning_command.py +0 -0
  72. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/start_all_command.py +0 -0
  73. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/start_command.py +0 -0
  74. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/status_command.py +0 -0
  75. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/stop_all_command.py +0 -0
  76. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/stop_command.py +0 -0
  77. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/trust_command.py +0 -0
  78. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/utils.py +0 -0
  79. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp/wizard_utils.py +0 -0
  80. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp_binding_menu.py +0 -0
  81. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/mcp_completion.py +0 -0
  82. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/model_picker_completion.py +0 -0
  83. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/model_settings_menu.py +0 -0
  84. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/onboarding_slides.py +0 -0
  85. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/onboarding_wizard.py +0 -0
  86. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/pagination.py +0 -0
  87. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/pin_command_completion.py +0 -0
  88. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/prompt_toolkit_completion.py +0 -0
  89. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/session_commands.py +0 -0
  90. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/set_menu.py +0 -0
  91. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/set_menu_catalog.py +0 -0
  92. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/set_menu_render.py +0 -0
  93. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/set_menu_schema.py +0 -0
  94. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/set_menu_settings.py +0 -0
  95. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/set_menu_shims.py +0 -0
  96. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/set_menu_values.py +0 -0
  97. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/shell_passthrough.py +0 -0
  98. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/skills_completion.py +0 -0
  99. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/uc_menu.py +0 -0
  100. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/utils.py +0 -0
  101. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/command_line/wiggum_state.py +0 -0
  102. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/error_logging.py +0 -0
  103. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/gemini_code_assist.py +0 -0
  104. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/gemini_model.py +0 -0
  105. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/hook_engine/README.md +0 -0
  106. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/hook_engine/__init__.py +0 -0
  107. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/hook_engine/aliases.py +0 -0
  108. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/hook_engine/engine.py +0 -0
  109. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/hook_engine/executor.py +0 -0
  110. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/hook_engine/matcher.py +0 -0
  111. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/hook_engine/models.py +0 -0
  112. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/hook_engine/registry.py +0 -0
  113. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/hook_engine/validator.py +0 -0
  114. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/http_utils.py +0 -0
  115. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/__init__.py +0 -0
  116. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/audit.py +0 -0
  117. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/catalog.py +0 -0
  118. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/formats.py +0 -0
  119. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/locale.py +0 -0
  120. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/locales/es-AR.json +0 -0
  121. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/locales/es-CL.json +0 -0
  122. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/locales/es-CO.json +0 -0
  123. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/locales/es-MX.json +0 -0
  124. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/locales/es.json +0 -0
  125. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/locales/fr-CA.json +0 -0
  126. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/plurals.py +0 -0
  127. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/pseudo.py +0 -0
  128. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/i18n/translate.py +0 -0
  129. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/keymap.py +0 -0
  130. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/list_filtering.py +0 -0
  131. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/main.py +0 -0
  132. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/__init__.py +0 -0
  133. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/agent_bindings.py +0 -0
  134. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/async_lifecycle.py +0 -0
  135. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/blocking_startup.py +0 -0
  136. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/captured_stdio_server.py +0 -0
  137. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/circuit_breaker.py +0 -0
  138. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/config_wizard.py +0 -0
  139. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/dashboard.py +0 -0
  140. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/error_isolation.py +0 -0
  141. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/examples/retry_example.py +0 -0
  142. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/health_monitor.py +0 -0
  143. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/managed_server.py +0 -0
  144. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/manager.py +0 -0
  145. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/mcp_logs.py +0 -0
  146. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/project_config.py +0 -0
  147. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/registry.py +0 -0
  148. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/retry_manager.py +0 -0
  149. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/server_registry_catalog.py +0 -0
  150. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/status_tracker.py +0 -0
  151. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/system_tools.py +0 -0
  152. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_/tool_arg_coercion.py +0 -0
  153. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_prompts/__init__.py +0 -0
  154. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/mcp_prompts/hook_creator.py +0 -0
  155. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/__init__.py +0 -0
  156. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/bar_painters.py +0 -0
  157. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/bar_rendering.py +0 -0
  158. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/bottom_bar.py +0 -0
  159. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/bus.py +0 -0
  160. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/chords.py +0 -0
  161. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/commands.py +0 -0
  162. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/editor_actions.py +0 -0
  163. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/editor_completion.py +0 -0
  164. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/editor_display.py +0 -0
  165. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/editor_history.py +0 -0
  166. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/editor_keys.py +0 -0
  167. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/editor_paste.py +0 -0
  168. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/external_editor.py +0 -0
  169. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/inline_bar.py +0 -0
  170. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/line_editor.py +0 -0
  171. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/markdown_patches.py +0 -0
  172. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/message_queue.py +0 -0
  173. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/messages.py +0 -0
  174. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/pause_controller.py +0 -0
  175. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/prompt_prefix_style.py +0 -0
  176. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/queue_console.py +0 -0
  177. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/renderers.py +0 -0
  178. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/rich_renderer.py +0 -0
  179. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/run_ui.py +0 -0
  180. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/run_ui_wiring.py +0 -0
  181. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/spinner/__init__.py +0 -0
  182. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/subagent_console.py +0 -0
  183. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/messaging/transcript_guard.py +0 -0
  184. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/model_descriptions.py +0 -0
  185. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/model_factory.py +0 -0
  186. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/model_switching.py +0 -0
  187. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/model_utils.py +0 -0
  188. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/models.json +0 -0
  189. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/models_dev_api.json +0 -0
  190. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/models_dev_parser.py +0 -0
  191. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/__init__.py +0 -0
  192. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/README.md +0 -0
  193. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/__init__.py +0 -0
  194. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/agent.py +0 -0
  195. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/bridge.py +0 -0
  196. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/capabilities.py +0 -0
  197. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/commands.py +0 -0
  198. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/content.py +0 -0
  199. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/io_delegation.py +0 -0
  200. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/mcp_config.py +0 -0
  201. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/permissions.py +0 -0
  202. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/persistence.py +0 -0
  203. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/register_callbacks.py +0 -0
  204. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/replay.py +0 -0
  205. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/session.py +0 -0
  206. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/session_config.py +0 -0
  207. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/acp/state.py +0 -0
  208. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/__init__.py +0 -0
  209. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/config.py +0 -0
  210. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/discovery.py +0 -0
  211. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/downloader.py +0 -0
  212. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/enabled_skills.py +0 -0
  213. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/installer.py +0 -0
  214. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/metadata.py +0 -0
  215. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/prompt_builder.py +0 -0
  216. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/register_callbacks.py +0 -0
  217. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/remote_catalog.py +0 -0
  218. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/skill_catalog.py +0 -0
  219. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/skill_commands.py +0 -0
  220. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/skills_install_menu.py +0 -0
  221. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/agent_skills/skills_menu.py +0 -0
  222. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/aws_bedrock/__init__.py +0 -0
  223. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/aws_bedrock/config.py +0 -0
  224. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/aws_bedrock/register_callbacks.py +0 -0
  225. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/aws_bedrock/utils.py +0 -0
  226. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/azure_foundry/README.md +0 -0
  227. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/azure_foundry/__init__.py +0 -0
  228. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/azure_foundry/config.py +0 -0
  229. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/azure_foundry/discovery.py +0 -0
  230. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/azure_foundry/register_callbacks.py +0 -0
  231. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/azure_foundry/token.py +0 -0
  232. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/azure_foundry/utils.py +0 -0
  233. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/btw/__init__.py +0 -0
  234. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/btw/inline_view.py +0 -0
  235. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/btw/register_callbacks.py +0 -0
  236. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/btw/side_query.py +0 -0
  237. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/chatgpt_oauth/__init__.py +0 -0
  238. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/chatgpt_oauth/config.py +0 -0
  239. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/chatgpt_oauth/oauth_flow.py +0 -0
  240. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/chatgpt_oauth/register_callbacks.py +0 -0
  241. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/chatgpt_oauth/test_plugin.py +0 -0
  242. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/chatgpt_oauth/usage.py +0 -0
  243. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/chatgpt_oauth/utils.py +0 -0
  244. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_hooks/__init__.py +0 -0
  245. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_hooks/config.py +0 -0
  246. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_hooks/register_callbacks.py +0 -0
  247. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/README.md +0 -0
  248. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/SETUP.md +0 -0
  249. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/__init__.py +0 -0
  250. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/config.py +0 -0
  251. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/fast_mode.py +0 -0
  252. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/prompt_handler.py +0 -0
  253. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/register_callbacks.py +0 -0
  254. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/test_fast_mode.py +0 -0
  255. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/test_plugin.py +0 -0
  256. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
  257. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/claude_code_oauth/utils.py +0 -0
  258. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/code_puppy_agent/SKILL.md +0 -0
  259. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/code_puppy_agent/__init__.py +0 -0
  260. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/code_puppy_agent/register_callbacks.py +0 -0
  261. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/config.py +0 -0
  262. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/context_indicator/__init__.py +0 -0
  263. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/context_indicator/register_callbacks.py +0 -0
  264. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/context_indicator/usage.py +0 -0
  265. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/copilot_auth/__init__.py +0 -0
  266. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/copilot_auth/config.py +0 -0
  267. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/copilot_auth/reasoning_client.py +0 -0
  268. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/copilot_auth/register_callbacks.py +0 -0
  269. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/copilot_auth/utils.py +0 -0
  270. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/customizable_commands/__init__.py +0 -0
  271. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/customizable_commands/register_callbacks.py +0 -0
  272. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/__init__.py +0 -0
  273. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/cancel.py +0 -0
  274. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/commands.py +0 -0
  275. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/config.py +0 -0
  276. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/lifecycle.py +0 -0
  277. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/register_callbacks.py +0 -0
  278. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/runtime.py +0 -0
  279. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/startup_lock.py +0 -0
  280. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/workflow_ids.py +0 -0
  281. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/dbos_durable_exec/wrapper.py +0 -0
  282. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/destructive_command_guard/__init__.py +0 -0
  283. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/destructive_command_guard/detector.py +0 -0
  284. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/destructive_command_guard/register_callbacks.py +0 -0
  285. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/emoji_filter/__init__.py +0 -0
  286. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/emoji_filter/config.py +0 -0
  287. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/emoji_filter/register_callbacks.py +0 -0
  288. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/emoji_filter/stripper.py +0 -0
  289. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/empty_html_comment_filter/register_callbacks.py +0 -0
  290. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/example_custom_command/README.md +0 -0
  291. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/example_custom_command/register_callbacks.py +0 -0
  292. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/file_permission_handler/__init__.py +0 -0
  293. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/file_permission_handler/register_callbacks.py +0 -0
  294. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/__init__.py +0 -0
  295. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/_docs/README.md +0 -0
  296. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/_docs/cheatsheet.md +0 -0
  297. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/_docs/pipeline.md +0 -0
  298. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/_docs/synopsis.md +0 -0
  299. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/about.md +0 -0
  300. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/address-feedback.md +0 -0
  301. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/ask.md +0 -0
  302. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/aug.md +0 -0
  303. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/auto-pilot.md +0 -0
  304. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/cheatsheet.md +0 -0
  305. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/commit.md +0 -0
  306. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/config.md +0 -0
  307. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/create-pr.md +0 -0
  308. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/exec.md +0 -0
  309. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/new.md +0 -0
  310. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/qa.md +0 -0
  311. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/rebase.md +0 -0
  312. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/review.md +0 -0
  313. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/split.md +0 -0
  314. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/squash-commits.md +0 -0
  315. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/status.md +0 -0
  316. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/commands/flux/tests.md +0 -0
  317. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/scripts/flux_about.py +0 -0
  318. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/scripts/flux_cheatsheet.py +0 -0
  319. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/bundled/scripts/flux_status.py +0 -0
  320. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/installer.py +0 -0
  321. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/flux_bootstrap/register_callbacks.py +0 -0
  322. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/force_push_guard/__init__.py +0 -0
  323. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/force_push_guard/detector.py +0 -0
  324. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/force_push_guard/register_callbacks.py +0 -0
  325. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/force_push_guard/test_detector.py +0 -0
  326. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/fork/__init__.py +0 -0
  327. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/fork/register_callbacks.py +0 -0
  328. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/frontend_emitter/__init__.py +0 -0
  329. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/frontend_emitter/emitter.py +0 -0
  330. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/frontend_emitter/register_callbacks.py +0 -0
  331. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/frontend_emitter/session_context.py +0 -0
  332. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/grok_oauth/__init__.py +0 -0
  333. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/grok_oauth/config.py +0 -0
  334. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/grok_oauth/oauth_flow.py +0 -0
  335. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/grok_oauth/register_callbacks.py +0 -0
  336. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/grok_oauth/test_plugin.py +0 -0
  337. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/grok_oauth/utils.py +0 -0
  338. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/herdr/README.md +0 -0
  339. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/herdr/__init__.py +0 -0
  340. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/herdr/client.py +0 -0
  341. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/herdr/register_callbacks.py +0 -0
  342. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/herdr/reporter.py +0 -0
  343. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/hook_creator/__init__.py +0 -0
  344. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/hook_creator/register_callbacks.py +0 -0
  345. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/hook_manager/__init__.py +0 -0
  346. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/hook_manager/config.py +0 -0
  347. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/hook_manager/hooks_menu.py +0 -0
  348. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/hook_manager/register_callbacks.py +0 -0
  349. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/no_tools/__init__.py +0 -0
  350. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/no_tools/register_callbacks.py +0 -0
  351. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/oauth_pasteback.py +0 -0
  352. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/oauth_puppy_html.py +0 -0
  353. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/obsidian_agent/README.md +0 -0
  354. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/obsidian_agent/__init__.py +0 -0
  355. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/obsidian_agent/agent_obsidian.py +0 -0
  356. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/obsidian_agent/register_callbacks.py +0 -0
  357. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/ollama/__init__.py +0 -0
  358. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/ollama/register_callbacks.py +0 -0
  359. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/ollama_setup/__init__.py +0 -0
  360. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/ollama_setup/completer.py +0 -0
  361. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/ollama_setup/register_callbacks.py +0 -0
  362. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/plugin_list/__init__.py +0 -0
  363. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/plugin_list/plugin_contributions.py +0 -0
  364. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/plugin_list/plugin_meta.py +0 -0
  365. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/plugin_list/plugin_text_utils.py +0 -0
  366. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/plugin_list/plugins_menu.py +0 -0
  367. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/plugin_list/plugins_menu_layout.py +0 -0
  368. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/plugin_list/plugins_menu_render.py +0 -0
  369. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/plugin_list/project_trust_flow.py +0 -0
  370. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/plugin_list/register_callbacks.py +0 -0
  371. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/pop_command/__init__.py +0 -0
  372. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/pop_command/register_callbacks.py +0 -0
  373. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/prompt_newline/__init__.py +0 -0
  374. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/prompt_newline/config.py +0 -0
  375. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/prompt_newline/register_callbacks.py +0 -0
  376. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/prune/__init__.py +0 -0
  377. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/prune/prune_menu.py +0 -0
  378. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/prune/prune_model.py +0 -0
  379. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/prune/prune_render.py +0 -0
  380. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/prune/register_callbacks.py +0 -0
  381. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/README.md +0 -0
  382. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/__init__.py +0 -0
  383. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/commands.py +0 -0
  384. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/config.py +0 -0
  385. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/kennel.py +0 -0
  386. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/packer.py +0 -0
  387. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/recorder.py +0 -0
  388. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/register_callbacks.py +0 -0
  389. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/retriever.py +0 -0
  390. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/schema.py +0 -0
  391. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/state.py +0 -0
  392. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/tools.py +0 -0
  393. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_kennel/wings.py +0 -0
  394. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_spinner/README.md +0 -0
  395. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_spinner/__init__.py +0 -0
  396. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_spinner/builtin_frames.py +0 -0
  397. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_spinner/commands.py +0 -0
  398. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_spinner/picker.py +0 -0
  399. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_spinner/register_callbacks.py +0 -0
  400. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/puppy_spinner/spinners.py +0 -0
  401. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/quick_resume/__init__.py +0 -0
  402. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/quick_resume/register_callbacks.py +0 -0
  403. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/review_pr/__init__.py +0 -0
  404. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/review_pr/register_callbacks.py +0 -0
  405. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/shell_safety/__init__.py +0 -0
  406. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/shell_safety/agent_shell_safety.py +0 -0
  407. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/shell_safety/command_cache.py +0 -0
  408. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/shell_safety/register_callbacks.py +0 -0
  409. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/stack_dump/__init__.py +0 -0
  410. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/stack_dump/register_callbacks.py +0 -0
  411. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/statusline/__init__.py +0 -0
  412. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/statusline/config.py +0 -0
  413. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/statusline/payload.py +0 -0
  414. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/statusline/prompt_patch.py +0 -0
  415. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/statusline/register_callbacks.py +0 -0
  416. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/statusline/runner.py +0 -0
  417. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/statusline/statusline_command.py +0 -0
  418. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/steer_queue/__init__.py +0 -0
  419. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/steer_queue/queue_menu.py +0 -0
  420. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/steer_queue/register_callbacks.py +0 -0
  421. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/subagent_panel/README.md +0 -0
  422. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/subagent_panel/__init__.py +0 -0
  423. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/subagent_panel/coalesce_patch.py +0 -0
  424. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/subagent_panel/panel_render.py +0 -0
  425. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/subagent_panel/register_callbacks.py +0 -0
  426. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/subagent_panel/resume_repaint.py +0 -0
  427. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/subagent_panel/state.py +0 -0
  428. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/switch_agent_resume/__init__.py +0 -0
  429. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/switch_agent_resume/register_callbacks.py +0 -0
  430. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/README.md +0 -0
  431. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/__init__.py +0 -0
  432. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/bundled_palettes.py +0 -0
  433. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/content_styles.py +0 -0
  434. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/osc_palette.py +0 -0
  435. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/picker.py +0 -0
  436. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/prompt_toolkit_theme.py +0 -0
  437. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/register_callbacks.py +0 -0
  438. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/rich_themes.py +0 -0
  439. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/theme/themes.py +0 -0
  440. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/token_ratio_learner/__init__.py +0 -0
  441. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/token_ratio_learner/ratios.py +0 -0
  442. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/token_ratio_learner/register_callbacks.py +0 -0
  443. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/trust.py +0 -0
  444. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/trust_notice.py +0 -0
  445. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/universal_constructor/__init__.py +0 -0
  446. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/universal_constructor/models.py +0 -0
  447. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/universal_constructor/register_callbacks.py +0 -0
  448. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/universal_constructor/registry.py +0 -0
  449. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/universal_constructor/sandbox.py +0 -0
  450. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/wide_completion_menu/__init__.py +0 -0
  451. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/wide_completion_menu/register_callbacks.py +0 -0
  452. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/wiggum/__init__.py +0 -0
  453. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/wiggum/judge.py +0 -0
  454. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/wiggum/judge_config.py +0 -0
  455. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/wiggum/register_callbacks.py +0 -0
  456. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/wiggum/state.py +0 -0
  457. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/yolo_cli/__init__.py +0 -0
  458. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/plugins/yolo_cli/register_callbacks.py +0 -0
  459. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/provider_credentials.py +0 -0
  460. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/provider_identity.py +0 -0
  461. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/pydantic_patches.py +0 -0
  462. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/reopenable_async_client.py +0 -0
  463. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/round_robin_model.py +0 -0
  464. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/secret_store.py +0 -0
  465. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/secret_store_backends.py +0 -0
  466. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/session_lifecycle.py +0 -0
  467. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/session_migration.py +0 -0
  468. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/session_storage.py +0 -0
  469. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/status_display.py +0 -0
  470. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/summarization_agent.py +0 -0
  471. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/terminal_utils.py +0 -0
  472. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/__init__.py +0 -0
  473. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/agent_tools.py +0 -0
  474. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/__init__.py +0 -0
  475. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/constants.py +0 -0
  476. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/demo_tui.py +0 -0
  477. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/handler.py +0 -0
  478. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/models.py +0 -0
  479. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/registration.py +0 -0
  480. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/renderers.py +0 -0
  481. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/terminal_ui.py +0 -0
  482. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/theme.py +0 -0
  483. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/ask_user_question/tui_loop.py +0 -0
  484. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/__init__.py +0 -0
  485. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_control.py +0 -0
  486. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_interactions.py +0 -0
  487. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_locator_resolver.py +0 -0
  488. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_locators.py +0 -0
  489. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_manager.py +0 -0
  490. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_navigation.py +0 -0
  491. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_page_snapshot.py +0 -0
  492. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_screenshot.py +0 -0
  493. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_scripts.py +0 -0
  494. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_semantic_interactions.py +0 -0
  495. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/browser/browser_workflows.py +0 -0
  496. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/command_runner.py +0 -0
  497. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/common.py +0 -0
  498. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/display.py +0 -0
  499. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/file_modifications.py +0 -0
  500. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/file_operations.py +0 -0
  501. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/fs_access.py +0 -0
  502. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/image_tools.py +0 -0
  503. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/io_backends.py +0 -0
  504. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/model_tools.py +0 -0
  505. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/shell_backgrounding.py +0 -0
  506. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/skills_tools.py +0 -0
  507. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/subagent_context.py +0 -0
  508. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/subagent_invocation.py +0 -0
  509. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/tools_content.py +0 -0
  510. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/tools/universal_constructor.py +0 -0
  511. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/undo_manager.py +0 -0
  512. {code_puppy-0.0.651 → code_puppy-0.0.652}/code_puppy/version_checker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-puppy
3
- Version: 0.0.651
3
+ Version: 0.0.652
4
4
  Summary: Code generation agent
5
5
  Project-URL: repository, https://github.com/mpfaffenberger/code_puppy
6
6
  Project-URL: HomePage, https://github.com/mpfaffenberger/code_puppy
@@ -9,6 +9,7 @@ from typing import Optional
9
9
 
10
10
  from code_puppy.command_line.command_registry import register_command
11
11
  from code_puppy.command_line.config_apply import apply_setting
12
+ from code_puppy.i18n import t
12
13
 
13
14
 
14
15
  # Import get_commands_help from command_handler to avoid circular imports
@@ -120,7 +121,7 @@ def handle_set_command(command: str) -> bool:
120
121
  return True
121
122
 
122
123
  if not key:
123
- emit_error("You must supply a key.")
124
+ emit_error(t("cfg.set.key_required"))
124
125
  return True
125
126
 
126
127
  result = apply_setting(key, value or "", reload_agent=True)
@@ -136,9 +137,9 @@ def handle_set_command(command: str) -> bool:
136
137
  else result.value_after
137
138
  )
138
139
  if key == "yolo_mode" and (value or "").strip().lower() == "config":
139
- emit_success("Using YOLO mode from puppy.cfg; configuration unchanged.")
140
+ emit_success(t("cfg.set.yolo_config_unchanged"))
140
141
  else:
141
- emit_success(f'Set {key} = "{display}" in puppy.cfg!')
142
+ emit_success(t("cfg.set.success", key=key, value=display))
142
143
  # Restart notices (warning) and the reload-success/failure signal
143
144
  # are independent: a restart-required key like ``enable_dbos``
144
145
  # should still report whether the live agent reload happened. The
@@ -149,7 +150,7 @@ def handle_set_command(command: str) -> bool:
149
150
  if result.reload_error:
150
151
  emit_warning(result.reload_error)
151
152
  else:
152
- emit_info("Agent reloaded with updated config")
153
+ emit_info(t("cfg.set.agent_reloaded"))
153
154
  return True
154
155
 
155
156
 
@@ -192,9 +193,9 @@ def _launch_interactive_set_menu() -> None:
192
193
 
193
194
  try:
194
195
  get_current_agent().reload_code_generation_agent()
195
- emit_info("Agent reloaded with updated config")
196
+ emit_info(t("cfg.set.agent_reloaded"))
196
197
  except Exception as reload_error:
197
- emit_warning(f"Config saved but agent reload failed: {reload_error}")
198
+ emit_warning(t("cfg.set.reload_failed", error=reload_error))
198
199
 
199
200
 
200
201
  def _get_json_agents_pinned_to_model(model_name: str) -> list:
@@ -229,7 +230,7 @@ def handle_pin_model_command(command: str) -> bool:
229
230
  tokens = command.split()
230
231
 
231
232
  if len(tokens) != 3:
232
- emit_warning("Usage: /pin_model <agent-name> <model-name>")
233
+ emit_warning(t("cfg.pin_model.usage"))
233
234
 
234
235
  # Show available models and agents
235
236
  available_models = load_model_names()
@@ -240,17 +241,17 @@ def handle_pin_model_command(command: str) -> bool:
240
241
 
241
242
  builtin_agents = get_agent_descriptions()
242
243
 
243
- emit_info("Available models:")
244
+ emit_info(t("cfg.listing.available_models"))
244
245
  for model in available_models:
245
246
  emit_info(f" {model}")
246
247
 
247
248
  if builtin_agents:
248
- emit_info("\nAvailable built-in agents:")
249
+ emit_info("\n" + t("cfg.listing.builtin_agents"))
249
250
  for agent_name, description in builtin_agents.items():
250
251
  emit_info(f" {agent_name} - {description}")
251
252
 
252
253
  if json_agents:
253
- emit_info("\nAvailable JSON agents:")
254
+ emit_info("\n" + t("cfg.listing.json_agents"))
254
255
  for agent_name, agent_path in json_agents.items():
255
256
  emit_info(f" {agent_name} ({agent_path})")
256
257
  return True
@@ -266,8 +267,8 @@ def handle_pin_model_command(command: str) -> bool:
266
267
  # Check if model exists
267
268
  available_models = load_model_names()
268
269
  if model_name not in available_models:
269
- emit_error(f"Model '{model_name}' not found")
270
- emit_warning(f"Available models: {', '.join(available_models)}")
270
+ emit_error(t("cfg.model.not_found", model=model_name))
271
+ emit_warning(t("cfg.model.available_list", models=", ".join(available_models)))
271
272
  return True
272
273
 
273
274
  # Check if this is a JSON agent or a built-in Python agent
@@ -282,16 +283,16 @@ def handle_pin_model_command(command: str) -> bool:
282
283
  is_builtin_agent = agent_name in builtin_agents
283
284
 
284
285
  if not is_json_agent and not is_builtin_agent:
285
- emit_error(f"Agent '{agent_name}' not found")
286
+ emit_error(t("cfg.agent.not_found", agent=agent_name))
286
287
 
287
288
  # Show available agents
288
289
  if builtin_agents:
289
- emit_info("Available built-in agents:")
290
+ emit_info("\n" + t("cfg.listing.builtin_agents"))
290
291
  for name, desc in builtin_agents.items():
291
292
  emit_info(f" {name} - {desc}")
292
293
 
293
294
  if json_agents:
294
- emit_info("\nAvailable JSON agents:")
295
+ emit_info("\n" + t("cfg.listing.json_agents"))
295
296
  for name, path in json_agents.items():
296
297
  emit_info(f" {name} ({path})")
297
298
  return True
@@ -318,7 +319,7 @@ def handle_pin_model_command(command: str) -> bool:
318
319
 
319
320
  set_agent_pinned_model(agent_name, model_name)
320
321
 
321
- emit_success(f"Model '{model_name}' pinned to agent '{agent_name}'")
322
+ emit_success(t("cfg.pin_model.success", model=model_name, agent=agent_name))
322
323
 
323
324
  # If this is the current agent, refresh it so the prompt updates immediately
324
325
  from code_puppy.agents import get_current_agent
@@ -329,14 +330,14 @@ def handle_pin_model_command(command: str) -> bool:
329
330
  if is_json_agent and hasattr(current_agent, "refresh_config"):
330
331
  current_agent.refresh_config()
331
332
  current_agent.reload_code_generation_agent()
332
- emit_info(f"Active agent reloaded with pinned model '{model_name}'")
333
+ emit_info(t("cfg.pin_model.agent_reloaded", model=model_name))
333
334
  except Exception as reload_error:
334
- emit_warning(f"Pinned model applied but reload failed: {reload_error}")
335
+ emit_warning(t("cfg.pin_model.reload_failed", error=reload_error))
335
336
 
336
337
  return True
337
338
 
338
339
  except Exception as e:
339
- emit_error(f"Failed to pin model to agent '{agent_name}': {e}")
340
+ emit_error(t("cfg.pin_model.failed", agent=agent_name, error=e))
340
341
  return True
341
342
 
342
343
 
@@ -355,7 +356,7 @@ def handle_unpin_command(command: str) -> bool:
355
356
  tokens = command.split()
356
357
 
357
358
  if len(tokens) != 2:
358
- emit_warning("Usage: /unpin <agent-name>")
359
+ emit_warning(t("cfg.unpin.usage"))
359
360
 
360
361
  # Show available agents
361
362
  json_agents = discover_json_agents()
@@ -366,7 +367,7 @@ def handle_unpin_command(command: str) -> bool:
366
367
  builtin_agents = get_agent_descriptions()
367
368
 
368
369
  if builtin_agents:
369
- emit_info("Available built-in agents:")
370
+ emit_info("\n" + t("cfg.listing.builtin_agents"))
370
371
  for agent_name, description in builtin_agents.items():
371
372
  pinned_model = get_agent_pinned_model(agent_name)
372
373
  if pinned_model:
@@ -375,7 +376,7 @@ def handle_unpin_command(command: str) -> bool:
375
376
  emit_info(f" {agent_name} - {description}")
376
377
 
377
378
  if json_agents:
378
- emit_info("\nAvailable JSON agents:")
379
+ emit_info("\n" + t("cfg.listing.json_agents"))
379
380
  for agent_name, agent_path in json_agents.items():
380
381
  # Read the JSON file to check for pinned model
381
382
  try:
@@ -421,16 +422,16 @@ def handle_unpin_command(command: str) -> bool:
421
422
  break
422
423
 
423
424
  if not is_json_agent and not is_builtin_agent:
424
- emit_error(f"Agent '{agent_name_input}' not found")
425
+ emit_error(t("cfg.agent.not_found", agent=agent_name_input))
425
426
 
426
427
  # Show available agents
427
428
  if builtin_agents:
428
- emit_info("Available built-in agents:")
429
+ emit_info("\n" + t("cfg.listing.builtin_agents"))
429
430
  for name, desc in builtin_agents.items():
430
431
  emit_info(f" {name} - {desc}")
431
432
 
432
433
  if json_agents:
433
- emit_info("\nAvailable JSON agents:")
434
+ emit_info("\n" + t("cfg.listing.json_agents"))
434
435
  for name, path in json_agents.items():
435
436
  emit_info(f" {name} ({path})")
436
437
  return True
@@ -457,7 +458,7 @@ def handle_unpin_command(command: str) -> bool:
457
458
 
458
459
  clear_agent_pinned_model(agent_name)
459
460
 
460
- emit_success(f"Model unpinned from agent '{agent_name}' (reset to default)")
461
+ emit_success(t("cfg.unpin.success", agent=agent_name))
461
462
 
462
463
  # If this is the current agent, refresh it so the prompt updates immediately
463
464
  from code_puppy.agents import get_current_agent
@@ -468,14 +469,14 @@ def handle_unpin_command(command: str) -> bool:
468
469
  if is_json_agent and hasattr(current_agent, "refresh_config"):
469
470
  current_agent.refresh_config()
470
471
  current_agent.reload_code_generation_agent()
471
- emit_info("Active agent reloaded with default model")
472
+ emit_info(t("cfg.unpin.agent_reloaded"))
472
473
  except Exception as reload_error:
473
- emit_warning(f"Model unpinned but reload failed: {reload_error}")
474
+ emit_warning(t("cfg.unpin.reload_failed", error=reload_error))
474
475
 
475
476
  return True
476
477
 
477
478
  except Exception as e:
478
- emit_error(f"Failed to unpin model from agent '{agent_name}': {e}")
479
+ emit_error(t("cfg.unpin.failed", agent=agent_name, error=e))
479
480
  return True
480
481
 
481
482
 
@@ -508,7 +509,7 @@ def handle_diff_command(command: str) -> bool:
508
509
  set_diff_addition_color(result["add_color"])
509
510
  set_diff_deletion_color(result["del_color"])
510
511
  except Exception as e:
511
- emit_error(f"Failed to apply diff settings: {e}")
512
+ emit_error(t("cfg.diff.apply_failed", error=e))
512
513
  return True
513
514
 
514
515
 
@@ -537,9 +538,9 @@ def handle_colors_command(command: str) -> bool:
537
538
  try:
538
539
  for banner_name, color in result.items():
539
540
  set_banner_color(banner_name, color)
540
- emit_success("Banner colors saved! 🎨")
541
+ emit_success(t("cfg.colors.saved"))
541
542
  except Exception as e:
542
- emit_error(f"Failed to apply banner color settings: {e}")
543
+ emit_error(t("cfg.colors.apply_failed", error=e))
543
544
  return True
544
545
 
545
546
 
@@ -643,7 +644,7 @@ def _show_color_options(color_type: str):
643
644
  )
644
645
  )
645
646
 
646
- emit_info("\n🎨 All Available Rich Colors:")
647
+ emit_info("\n" + t("cfg.colors.all_available"))
647
648
  for category, colors in color_categories.items():
648
649
  emit_info(f"\n{category}:")
649
650
  # Display in columns for better readability
@@ -652,6 +653,6 @@ def _show_color_options(color_type: str):
652
653
  row_text = " ".join([f"[{color}]■[/{color}] {color}" for color, _ in row])
653
654
  emit_info(Text.from_markup(f" {row_text}"))
654
655
 
655
- emit_info("\nUsage: /diff {color_type} <color_name>")
656
- emit_info("All diffs use white text on your chosen background colors")
657
- emit_info("You can also use hex colors like #ff0000 or rgb(255,0,0)")
656
+ emit_info("\n" + t("cfg.colors.usage"))
657
+ emit_info(t("cfg.colors.white_text_note"))
658
+ emit_info(t("cfg.colors.hex_note"))
@@ -1509,8 +1509,9 @@ def get_compaction_strategy() -> str:
1509
1509
  val = get_value("compaction_strategy")
1510
1510
  if val and val.lower() in ["summarization", "truncation"]:
1511
1511
  return val.lower()
1512
- # Default to summarization
1513
- return "truncation"
1512
+ # Summarization preserves useful long-running context by default. Users can
1513
+ # explicitly select truncation as a zero-cost rollback strategy.
1514
+ return "summarization"
1514
1515
 
1515
1516
 
1516
1517
  def get_http2() -> bool:
@@ -81,5 +81,33 @@
81
81
  "cli.headless.cancelled": "Execution cancelled by user",
82
82
  "cli.headless.error": "Error executing prompt: {error}",
83
83
  "cli.headless.save_failed": "Failed to save session {session}: {error}",
84
- "cli.autosave.loaded_path": "\ud83d\udcc1 From: {path}"
84
+ "cli.autosave.loaded_path": "\ud83d\udcc1 From: {path}",
85
+ "cfg.set.key_required": "You must supply a key.",
86
+ "cfg.set.yolo_config_unchanged": "Using YOLO mode from puppy.cfg; configuration unchanged.",
87
+ "cfg.set.success": "Set {key} = \"{value}\" in puppy.cfg!",
88
+ "cfg.set.agent_reloaded": "Agent reloaded with updated config",
89
+ "cfg.set.reload_failed": "Config saved but agent reload failed: {error}",
90
+ "cfg.listing.available_models": "Available models:",
91
+ "cfg.listing.builtin_agents": "Available built-in agents:",
92
+ "cfg.listing.json_agents": "Available JSON agents:",
93
+ "cfg.model.not_found": "Model '{model}' not found",
94
+ "cfg.model.available_list": "Available models: {models}",
95
+ "cfg.agent.not_found": "Agent '{agent}' not found",
96
+ "cfg.pin_model.usage": "Usage: /pin_model <agent-name> <model-name>",
97
+ "cfg.pin_model.success": "Model '{model}' pinned to agent '{agent}'",
98
+ "cfg.pin_model.agent_reloaded": "Active agent reloaded with pinned model '{model}'",
99
+ "cfg.pin_model.reload_failed": "Pinned model applied but reload failed: {error}",
100
+ "cfg.pin_model.failed": "Failed to pin model to agent '{agent}': {error}",
101
+ "cfg.unpin.usage": "Usage: /unpin <agent-name>",
102
+ "cfg.unpin.success": "Model unpinned from agent '{agent}' (reset to default)",
103
+ "cfg.unpin.agent_reloaded": "Active agent reloaded with default model",
104
+ "cfg.unpin.reload_failed": "Model unpinned but reload failed: {error}",
105
+ "cfg.unpin.failed": "Failed to unpin model from agent '{agent}': {error}",
106
+ "cfg.diff.apply_failed": "Failed to apply diff settings: {error}",
107
+ "cfg.colors.saved": "Banner colors saved! \ud83c\udfa8",
108
+ "cfg.colors.apply_failed": "Failed to apply banner color settings: {error}",
109
+ "cfg.colors.all_available": "\ud83c\udfa8 All Available Rich Colors:",
110
+ "cfg.colors.usage": "Usage: /diff {{color_type}} <color_name>",
111
+ "cfg.colors.white_text_note": "All diffs use white text on your chosen background colors",
112
+ "cfg.colors.hex_note": "You can also use hex colors like #ff0000 or rgb(255,0,0)"
85
113
  }
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "code-puppy"
7
- version = "0.0.651"
7
+ version = "0.0.652"
8
8
  description = "Code generation agent"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11,<3.15"
File without changes
File without changes
File without changes