newcode 0.2.3__tar.gz → 0.2.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. {newcode-0.2.3 → newcode-0.2.5}/PKG-INFO +1 -1
  2. {newcode-0.2.3 → newcode-0.2.5}/newcode/claude_cache_client.py +14 -11
  3. {newcode-0.2.3 → newcode-0.2.5}/pyproject.toml +1 -1
  4. {newcode-0.2.3 → newcode-0.2.5}/.gitignore +0 -0
  5. {newcode-0.2.3 → newcode-0.2.5}/LICENSE +0 -0
  6. {newcode-0.2.3 → newcode-0.2.5}/README.md +0 -0
  7. {newcode-0.2.3 → newcode-0.2.5}/newcode/__init__.py +0 -0
  8. {newcode-0.2.3 → newcode-0.2.5}/newcode/__main__.py +0 -0
  9. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/__init__.py +0 -0
  10. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_c_reviewer.py +0 -0
  11. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_code_agent.py +0 -0
  12. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_code_reviewer.py +0 -0
  13. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_cpp_reviewer.py +0 -0
  14. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_creator_agent.py +0 -0
  15. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_golang_reviewer.py +0 -0
  16. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_javascript_reviewer.py +0 -0
  17. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_manager.py +0 -0
  18. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_pack_leader.py +0 -0
  19. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_planning.py +0 -0
  20. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_python_programmer.py +0 -0
  21. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_python_reviewer.py +0 -0
  22. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_qa_browser.py +0 -0
  23. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_qa_expert.py +0 -0
  24. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_scheduler.py +0 -0
  25. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_security_auditor.py +0 -0
  26. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_terminal_qa.py +0 -0
  27. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/agent_typescript_reviewer.py +0 -0
  28. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/base_agent.py +0 -0
  29. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/event_stream_handler.py +0 -0
  30. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/json_agent.py +0 -0
  31. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/pack/__init__.py +0 -0
  32. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/pack/bloodhound.py +0 -0
  33. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/pack/husky.py +0 -0
  34. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/pack/retriever.py +0 -0
  35. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/pack/shepherd.py +0 -0
  36. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/pack/terrier.py +0 -0
  37. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/pack/watchdog.py +0 -0
  38. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/prompt_reviewer.py +0 -0
  39. {newcode-0.2.3 → newcode-0.2.5}/newcode/agents/subagent_stream_handler.py +0 -0
  40. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/__init__.py +0 -0
  41. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/app.py +0 -0
  42. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/main.py +0 -0
  43. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/pty_manager.py +0 -0
  44. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/routers/__init__.py +0 -0
  45. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/routers/agents.py +0 -0
  46. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/routers/commands.py +0 -0
  47. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/routers/config.py +0 -0
  48. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/routers/sessions.py +0 -0
  49. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/templates/terminal.html +0 -0
  50. {newcode-0.2.3 → newcode-0.2.5}/newcode/api/websocket.py +0 -0
  51. {newcode-0.2.3 → newcode-0.2.5}/newcode/callbacks.py +0 -0
  52. {newcode-0.2.3 → newcode-0.2.5}/newcode/chatgpt_codex_client.py +0 -0
  53. {newcode-0.2.3 → newcode-0.2.5}/newcode/cli_runner.py +0 -0
  54. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/__init__.py +0 -0
  55. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/add_model_menu.py +0 -0
  56. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/agent_menu.py +0 -0
  57. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/attachments.py +0 -0
  58. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/autosave_menu.py +0 -0
  59. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/clipboard.py +0 -0
  60. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/colors_menu.py +0 -0
  61. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/command_handler.py +0 -0
  62. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/command_registry.py +0 -0
  63. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/config_commands.py +0 -0
  64. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/core_commands.py +0 -0
  65. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/diff_menu.py +0 -0
  66. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/file_path_completion.py +0 -0
  67. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/load_context_completion.py +0 -0
  68. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/__init__.py +0 -0
  69. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/base.py +0 -0
  70. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/catalog_server_installer.py +0 -0
  71. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/custom_server_form.py +0 -0
  72. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/custom_server_installer.py +0 -0
  73. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/edit_command.py +0 -0
  74. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/handler.py +0 -0
  75. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/help_command.py +0 -0
  76. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/install_command.py +0 -0
  77. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/install_menu.py +0 -0
  78. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/list_command.py +0 -0
  79. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/logs_command.py +0 -0
  80. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/remove_command.py +0 -0
  81. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/restart_command.py +0 -0
  82. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/search_command.py +0 -0
  83. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/start_all_command.py +0 -0
  84. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/start_command.py +0 -0
  85. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/status_command.py +0 -0
  86. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/stop_all_command.py +0 -0
  87. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/stop_command.py +0 -0
  88. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/test_command.py +0 -0
  89. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/utils.py +0 -0
  90. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp/wizard_utils.py +0 -0
  91. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/mcp_completion.py +0 -0
  92. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/model_picker_completion.py +0 -0
  93. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/model_settings_menu.py +0 -0
  94. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/motd.py +0 -0
  95. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/onboarding_slides.py +0 -0
  96. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/onboarding_wizard.py +0 -0
  97. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/pin_command_completion.py +0 -0
  98. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/prompt_toolkit_completion.py +0 -0
  99. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/session_commands.py +0 -0
  100. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/skills_completion.py +0 -0
  101. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/uc_menu.py +0 -0
  102. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/utils.py +0 -0
  103. {newcode-0.2.3 → newcode-0.2.5}/newcode/command_line/wiggum_state.py +0 -0
  104. {newcode-0.2.3 → newcode-0.2.5}/newcode/config.py +0 -0
  105. {newcode-0.2.3 → newcode-0.2.5}/newcode/error_logging.py +0 -0
  106. {newcode-0.2.3 → newcode-0.2.5}/newcode/gemini_code_assist.py +0 -0
  107. {newcode-0.2.3 → newcode-0.2.5}/newcode/gemini_model.py +0 -0
  108. {newcode-0.2.3 → newcode-0.2.5}/newcode/hook_engine/README.md +0 -0
  109. {newcode-0.2.3 → newcode-0.2.5}/newcode/hook_engine/__init__.py +0 -0
  110. {newcode-0.2.3 → newcode-0.2.5}/newcode/hook_engine/aliases.py +0 -0
  111. {newcode-0.2.3 → newcode-0.2.5}/newcode/hook_engine/engine.py +0 -0
  112. {newcode-0.2.3 → newcode-0.2.5}/newcode/hook_engine/executor.py +0 -0
  113. {newcode-0.2.3 → newcode-0.2.5}/newcode/hook_engine/matcher.py +0 -0
  114. {newcode-0.2.3 → newcode-0.2.5}/newcode/hook_engine/models.py +0 -0
  115. {newcode-0.2.3 → newcode-0.2.5}/newcode/hook_engine/registry.py +0 -0
  116. {newcode-0.2.3 → newcode-0.2.5}/newcode/hook_engine/validator.py +0 -0
  117. {newcode-0.2.3 → newcode-0.2.5}/newcode/http_utils.py +0 -0
  118. {newcode-0.2.3 → newcode-0.2.5}/newcode/keymap.py +0 -0
  119. {newcode-0.2.3 → newcode-0.2.5}/newcode/main.py +0 -0
  120. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/__init__.py +0 -0
  121. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/async_lifecycle.py +0 -0
  122. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/blocking_startup.py +0 -0
  123. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/captured_stdio_server.py +0 -0
  124. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/circuit_breaker.py +0 -0
  125. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/config_wizard.py +0 -0
  126. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/dashboard.py +0 -0
  127. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/error_isolation.py +0 -0
  128. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/examples/retry_example.py +0 -0
  129. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/health_monitor.py +0 -0
  130. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/managed_server.py +0 -0
  131. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/manager.py +0 -0
  132. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/mcp_logs.py +0 -0
  133. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/registry.py +0 -0
  134. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/retry_manager.py +0 -0
  135. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/server_registry_catalog.py +0 -0
  136. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/status_tracker.py +0 -0
  137. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_/system_tools.py +0 -0
  138. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_prompts/__init__.py +0 -0
  139. {newcode-0.2.3 → newcode-0.2.5}/newcode/mcp_prompts/hook_creator.py +0 -0
  140. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/__init__.py +0 -0
  141. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/bus.py +0 -0
  142. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/commands.py +0 -0
  143. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/markdown_patches.py +0 -0
  144. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/message_queue.py +0 -0
  145. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/messages.py +0 -0
  146. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/queue_console.py +0 -0
  147. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/renderers.py +0 -0
  148. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/rich_renderer.py +0 -0
  149. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/spinner/__init__.py +0 -0
  150. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/spinner/console_spinner.py +0 -0
  151. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/spinner/spinner_base.py +0 -0
  152. {newcode-0.2.3 → newcode-0.2.5}/newcode/messaging/subagent_console.py +0 -0
  153. {newcode-0.2.3 → newcode-0.2.5}/newcode/model_factory.py +0 -0
  154. {newcode-0.2.3 → newcode-0.2.5}/newcode/model_switching.py +0 -0
  155. {newcode-0.2.3 → newcode-0.2.5}/newcode/model_utils.py +0 -0
  156. {newcode-0.2.3 → newcode-0.2.5}/newcode/models.json +0 -0
  157. {newcode-0.2.3 → newcode-0.2.5}/newcode/models_dev_api.json +0 -0
  158. {newcode-0.2.3 → newcode-0.2.5}/newcode/models_dev_parser.py +0 -0
  159. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/__init__.py +0 -0
  160. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/__init__.py +0 -0
  161. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/config.py +0 -0
  162. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/discovery.py +0 -0
  163. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/downloader.py +0 -0
  164. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/installer.py +0 -0
  165. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/metadata.py +0 -0
  166. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/prompt_builder.py +0 -0
  167. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/register_callbacks.py +0 -0
  168. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/remote_catalog.py +0 -0
  169. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/skill_catalog.py +0 -0
  170. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/skills_install_menu.py +0 -0
  171. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/agent_skills/skills_menu.py +0 -0
  172. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/__init__.py +0 -0
  173. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/accounts.py +0 -0
  174. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/antigravity_model.py +0 -0
  175. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/config.py +0 -0
  176. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/constants.py +0 -0
  177. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/oauth.py +0 -0
  178. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/register_callbacks.py +0 -0
  179. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/storage.py +0 -0
  180. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/test_plugin.py +0 -0
  181. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/token.py +0 -0
  182. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/transport.py +0 -0
  183. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/antigravity_oauth/utils.py +0 -0
  184. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/chatgpt_oauth/__init__.py +0 -0
  185. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/chatgpt_oauth/config.py +0 -0
  186. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/chatgpt_oauth/oauth_flow.py +0 -0
  187. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/chatgpt_oauth/register_callbacks.py +0 -0
  188. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/chatgpt_oauth/test_plugin.py +0 -0
  189. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/chatgpt_oauth/utils.py +0 -0
  190. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_hooks/__init__.py +0 -0
  191. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_hooks/config.py +0 -0
  192. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_hooks/register_callbacks.py +0 -0
  193. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_oauth/README.md +0 -0
  194. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_oauth/SETUP.md +0 -0
  195. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_oauth/__init__.py +0 -0
  196. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_oauth/config.py +0 -0
  197. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_oauth/register_callbacks.py +0 -0
  198. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_oauth/test_plugin.py +0 -0
  199. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_oauth/token_refresh_heartbeat.py +0 -0
  200. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/claude_code_oauth/utils.py +0 -0
  201. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/customizable_commands/__init__.py +0 -0
  202. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/customizable_commands/register_callbacks.py +0 -0
  203. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/example_custom_command/README.md +0 -0
  204. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/example_custom_command/register_callbacks.py +0 -0
  205. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/file_permission_handler/__init__.py +0 -0
  206. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/file_permission_handler/register_callbacks.py +0 -0
  207. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/frontend_emitter/__init__.py +0 -0
  208. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/frontend_emitter/emitter.py +0 -0
  209. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/frontend_emitter/register_callbacks.py +0 -0
  210. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/hook_creator/__init__.py +0 -0
  211. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/hook_creator/register_callbacks.py +0 -0
  212. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/hook_manager/__init__.py +0 -0
  213. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/hook_manager/config.py +0 -0
  214. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/hook_manager/hooks_menu.py +0 -0
  215. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/hook_manager/register_callbacks.py +0 -0
  216. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/oauth_puppy_html.py +0 -0
  217. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/scheduler/__init__.py +0 -0
  218. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/scheduler/register_callbacks.py +0 -0
  219. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/scheduler/scheduler_menu.py +0 -0
  220. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/scheduler/scheduler_wizard.py +0 -0
  221. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/shell_safety/__init__.py +0 -0
  222. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/shell_safety/agent_shell_safety.py +0 -0
  223. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/shell_safety/command_cache.py +0 -0
  224. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/shell_safety/register_callbacks.py +0 -0
  225. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/synthetic_status/__init__.py +0 -0
  226. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/synthetic_status/register_callbacks.py +0 -0
  227. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/synthetic_status/status_api.py +0 -0
  228. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/universal_constructor/__init__.py +0 -0
  229. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/universal_constructor/models.py +0 -0
  230. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/universal_constructor/register_callbacks.py +0 -0
  231. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/universal_constructor/registry.py +0 -0
  232. {newcode-0.2.3 → newcode-0.2.5}/newcode/plugins/universal_constructor/sandbox.py +0 -0
  233. {newcode-0.2.3 → newcode-0.2.5}/newcode/prompts/antigravity_system_prompt.md +0 -0
  234. {newcode-0.2.3 → newcode-0.2.5}/newcode/pydantic_patches.py +0 -0
  235. {newcode-0.2.3 → newcode-0.2.5}/newcode/reopenable_async_client.py +0 -0
  236. {newcode-0.2.3 → newcode-0.2.5}/newcode/round_robin_model.py +0 -0
  237. {newcode-0.2.3 → newcode-0.2.5}/newcode/scheduler/__init__.py +0 -0
  238. {newcode-0.2.3 → newcode-0.2.5}/newcode/scheduler/__main__.py +0 -0
  239. {newcode-0.2.3 → newcode-0.2.5}/newcode/scheduler/cli.py +0 -0
  240. {newcode-0.2.3 → newcode-0.2.5}/newcode/scheduler/config.py +0 -0
  241. {newcode-0.2.3 → newcode-0.2.5}/newcode/scheduler/daemon.py +0 -0
  242. {newcode-0.2.3 → newcode-0.2.5}/newcode/scheduler/executor.py +0 -0
  243. {newcode-0.2.3 → newcode-0.2.5}/newcode/scheduler/platform.py +0 -0
  244. {newcode-0.2.3 → newcode-0.2.5}/newcode/scheduler/platform_unix.py +0 -0
  245. {newcode-0.2.3 → newcode-0.2.5}/newcode/scheduler/platform_win.py +0 -0
  246. {newcode-0.2.3 → newcode-0.2.5}/newcode/session_storage.py +0 -0
  247. {newcode-0.2.3 → newcode-0.2.5}/newcode/status_display.py +0 -0
  248. {newcode-0.2.3 → newcode-0.2.5}/newcode/summarization_agent.py +0 -0
  249. {newcode-0.2.3 → newcode-0.2.5}/newcode/terminal_utils.py +0 -0
  250. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/__init__.py +0 -0
  251. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/agent_tools.py +0 -0
  252. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/__init__.py +0 -0
  253. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/constants.py +0 -0
  254. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/demo_tui.py +0 -0
  255. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/handler.py +0 -0
  256. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/models.py +0 -0
  257. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/registration.py +0 -0
  258. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/renderers.py +0 -0
  259. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/terminal_ui.py +0 -0
  260. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/theme.py +0 -0
  261. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/ask_user_question/tui_loop.py +0 -0
  262. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/__init__.py +0 -0
  263. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/browser_control.py +0 -0
  264. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/browser_interactions.py +0 -0
  265. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/browser_locators.py +0 -0
  266. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/browser_manager.py +0 -0
  267. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/browser_navigation.py +0 -0
  268. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/browser_screenshot.py +0 -0
  269. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/browser_scripts.py +0 -0
  270. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/browser_workflows.py +0 -0
  271. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/chromium_terminal_manager.py +0 -0
  272. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/terminal_command_tools.py +0 -0
  273. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/terminal_screenshot_tools.py +0 -0
  274. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/browser/terminal_tools.py +0 -0
  275. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/command_runner.py +0 -0
  276. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/common.py +0 -0
  277. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/display.py +0 -0
  278. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/file_modifications.py +0 -0
  279. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/file_operations.py +0 -0
  280. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/scheduler_tools.py +0 -0
  281. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/skills_tools.py +0 -0
  282. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/subagent_context.py +0 -0
  283. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/tools_content.py +0 -0
  284. {newcode-0.2.3 → newcode-0.2.5}/newcode/tools/universal_constructor.py +0 -0
  285. {newcode-0.2.3 → newcode-0.2.5}/newcode/uvx_detection.py +0 -0
  286. {newcode-0.2.3 → newcode-0.2.5}/newcode/version_checker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: newcode
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Summary: AI-powered code generation agent platform
5
5
  Project-URL: repository, https://github.com/janfeddersen-wq/new_code
6
6
  Project-URL: HomePage, https://github.com/janfeddersen-wq/new_code
@@ -374,7 +374,7 @@ class ClaudeCacheAsyncClient(httpx.AsyncClient):
374
374
  is_auth_error = self._is_cloudflare_html_error(response)
375
375
  if is_auth_error:
376
376
  logger.info(
377
- "Detected Cloudflare 400 error (likely auth-related), attempting token refresh"
377
+ "Detected Cloudflare 400 error (expired token), attempting token refresh"
378
378
  )
379
379
 
380
380
  if is_auth_error:
@@ -535,26 +535,29 @@ class ClaudeCacheAsyncClient(httpx.AsyncClient):
535
535
  """Check if this is a Cloudflare HTML error response.
536
536
 
537
537
  Cloudflare often returns HTML error pages with status 400 when
538
- there are authentication issues.
538
+ there are authentication issues. The response looks like:
539
+ <html>
540
+ <head><title>400 Bad Request</title></head>
541
+ <body>
542
+ <center><h1>400 Bad Request</h1></center>
543
+ <hr><center>cloudflare</center>
544
+ </body>
545
+ </html>
539
546
  """
540
- # Check content type
541
- content_type = response.headers.get("content-type", "")
542
- if "text/html" not in content_type.lower():
543
- return False
544
-
545
- # Check if body contains Cloudflare markers
546
547
  try:
547
- # Read response body if not already consumed
548
+ body = None
549
+ # Try reading the body from _content first (already consumed)
548
550
  if hasattr(response, "_content") and response._content:
549
551
  body = response._content.decode("utf-8", errors="ignore")
550
552
  else:
551
- # Try to read the text (this might be already consumed)
552
553
  try:
553
554
  body = response.text
554
555
  except Exception:
555
556
  return False
556
557
 
557
- # Look for Cloudflare and 400 Bad Request markers
558
+ if not body:
559
+ return False
560
+
558
561
  body_lower = body.lower()
559
562
  return "cloudflare" in body_lower and "400 bad request" in body_lower
560
563
  except Exception as exc:
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "newcode"
7
- version = "0.2.3"
7
+ version = "0.2.5"
8
8
  description = "AI-powered code generation agent platform"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11,<3.14"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes