newcode 0.1.1__py3-none-any.whl

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 (289) hide show
  1. code_puppy/__init__.py +10 -0
  2. code_puppy/__main__.py +10 -0
  3. code_puppy/agents/__init__.py +31 -0
  4. code_puppy/agents/agent_c_reviewer.py +155 -0
  5. code_puppy/agents/agent_code_puppy.py +147 -0
  6. code_puppy/agents/agent_code_reviewer.py +90 -0
  7. code_puppy/agents/agent_cpp_reviewer.py +132 -0
  8. code_puppy/agents/agent_creator_agent.py +630 -0
  9. code_puppy/agents/agent_golang_reviewer.py +151 -0
  10. code_puppy/agents/agent_helios.py +122 -0
  11. code_puppy/agents/agent_javascript_reviewer.py +160 -0
  12. code_puppy/agents/agent_manager.py +742 -0
  13. code_puppy/agents/agent_pack_leader.py +380 -0
  14. code_puppy/agents/agent_planning.py +165 -0
  15. code_puppy/agents/agent_python_programmer.py +167 -0
  16. code_puppy/agents/agent_python_reviewer.py +90 -0
  17. code_puppy/agents/agent_qa_expert.py +163 -0
  18. code_puppy/agents/agent_qa_kitten.py +208 -0
  19. code_puppy/agents/agent_scheduler.py +121 -0
  20. code_puppy/agents/agent_security_auditor.py +181 -0
  21. code_puppy/agents/agent_terminal_qa.py +323 -0
  22. code_puppy/agents/agent_typescript_reviewer.py +166 -0
  23. code_puppy/agents/base_agent.py +2145 -0
  24. code_puppy/agents/event_stream_handler.py +348 -0
  25. code_puppy/agents/json_agent.py +202 -0
  26. code_puppy/agents/pack/__init__.py +34 -0
  27. code_puppy/agents/pack/bloodhound.py +296 -0
  28. code_puppy/agents/pack/husky.py +307 -0
  29. code_puppy/agents/pack/retriever.py +380 -0
  30. code_puppy/agents/pack/shepherd.py +327 -0
  31. code_puppy/agents/pack/terrier.py +281 -0
  32. code_puppy/agents/pack/watchdog.py +357 -0
  33. code_puppy/agents/prompt_reviewer.py +145 -0
  34. code_puppy/agents/subagent_stream_handler.py +276 -0
  35. code_puppy/api/__init__.py +13 -0
  36. code_puppy/api/app.py +169 -0
  37. code_puppy/api/main.py +21 -0
  38. code_puppy/api/pty_manager.py +453 -0
  39. code_puppy/api/routers/__init__.py +12 -0
  40. code_puppy/api/routers/agents.py +36 -0
  41. code_puppy/api/routers/commands.py +217 -0
  42. code_puppy/api/routers/config.py +75 -0
  43. code_puppy/api/routers/sessions.py +234 -0
  44. code_puppy/api/templates/terminal.html +361 -0
  45. code_puppy/api/websocket.py +154 -0
  46. code_puppy/callbacks.py +674 -0
  47. code_puppy/chatgpt_codex_client.py +338 -0
  48. code_puppy/claude_cache_client.py +664 -0
  49. code_puppy/cli_runner.py +1038 -0
  50. code_puppy/command_line/__init__.py +1 -0
  51. code_puppy/command_line/add_model_menu.py +1092 -0
  52. code_puppy/command_line/agent_menu.py +662 -0
  53. code_puppy/command_line/attachments.py +395 -0
  54. code_puppy/command_line/autosave_menu.py +704 -0
  55. code_puppy/command_line/clipboard.py +527 -0
  56. code_puppy/command_line/colors_menu.py +526 -0
  57. code_puppy/command_line/command_handler.py +283 -0
  58. code_puppy/command_line/command_registry.py +150 -0
  59. code_puppy/command_line/config_commands.py +719 -0
  60. code_puppy/command_line/core_commands.py +853 -0
  61. code_puppy/command_line/diff_menu.py +865 -0
  62. code_puppy/command_line/file_path_completion.py +73 -0
  63. code_puppy/command_line/load_context_completion.py +52 -0
  64. code_puppy/command_line/mcp/__init__.py +10 -0
  65. code_puppy/command_line/mcp/base.py +32 -0
  66. code_puppy/command_line/mcp/catalog_server_installer.py +175 -0
  67. code_puppy/command_line/mcp/custom_server_form.py +688 -0
  68. code_puppy/command_line/mcp/custom_server_installer.py +195 -0
  69. code_puppy/command_line/mcp/edit_command.py +148 -0
  70. code_puppy/command_line/mcp/handler.py +138 -0
  71. code_puppy/command_line/mcp/help_command.py +147 -0
  72. code_puppy/command_line/mcp/install_command.py +214 -0
  73. code_puppy/command_line/mcp/install_menu.py +705 -0
  74. code_puppy/command_line/mcp/list_command.py +94 -0
  75. code_puppy/command_line/mcp/logs_command.py +235 -0
  76. code_puppy/command_line/mcp/remove_command.py +82 -0
  77. code_puppy/command_line/mcp/restart_command.py +100 -0
  78. code_puppy/command_line/mcp/search_command.py +123 -0
  79. code_puppy/command_line/mcp/start_all_command.py +135 -0
  80. code_puppy/command_line/mcp/start_command.py +117 -0
  81. code_puppy/command_line/mcp/status_command.py +184 -0
  82. code_puppy/command_line/mcp/stop_all_command.py +112 -0
  83. code_puppy/command_line/mcp/stop_command.py +80 -0
  84. code_puppy/command_line/mcp/test_command.py +107 -0
  85. code_puppy/command_line/mcp/utils.py +129 -0
  86. code_puppy/command_line/mcp/wizard_utils.py +334 -0
  87. code_puppy/command_line/mcp_completion.py +174 -0
  88. code_puppy/command_line/model_picker_completion.py +197 -0
  89. code_puppy/command_line/model_settings_menu.py +932 -0
  90. code_puppy/command_line/motd.py +91 -0
  91. code_puppy/command_line/onboarding_slides.py +179 -0
  92. code_puppy/command_line/onboarding_wizard.py +342 -0
  93. code_puppy/command_line/pin_command_completion.py +329 -0
  94. code_puppy/command_line/prompt_toolkit_completion.py +846 -0
  95. code_puppy/command_line/session_commands.py +302 -0
  96. code_puppy/command_line/skills_completion.py +160 -0
  97. code_puppy/command_line/uc_menu.py +893 -0
  98. code_puppy/command_line/utils.py +93 -0
  99. code_puppy/command_line/wiggum_state.py +78 -0
  100. code_puppy/config.py +1787 -0
  101. code_puppy/error_logging.py +133 -0
  102. code_puppy/gemini_code_assist.py +385 -0
  103. code_puppy/gemini_model.py +754 -0
  104. code_puppy/hook_engine/README.md +105 -0
  105. code_puppy/hook_engine/__init__.py +15 -0
  106. code_puppy/hook_engine/aliases.py +155 -0
  107. code_puppy/hook_engine/engine.py +195 -0
  108. code_puppy/hook_engine/executor.py +293 -0
  109. code_puppy/hook_engine/matcher.py +145 -0
  110. code_puppy/hook_engine/models.py +222 -0
  111. code_puppy/hook_engine/registry.py +106 -0
  112. code_puppy/hook_engine/validator.py +141 -0
  113. code_puppy/http_utils.py +361 -0
  114. code_puppy/keymap.py +128 -0
  115. code_puppy/main.py +10 -0
  116. code_puppy/mcp_/__init__.py +66 -0
  117. code_puppy/mcp_/async_lifecycle.py +286 -0
  118. code_puppy/mcp_/blocking_startup.py +469 -0
  119. code_puppy/mcp_/captured_stdio_server.py +275 -0
  120. code_puppy/mcp_/circuit_breaker.py +290 -0
  121. code_puppy/mcp_/config_wizard.py +507 -0
  122. code_puppy/mcp_/dashboard.py +308 -0
  123. code_puppy/mcp_/error_isolation.py +407 -0
  124. code_puppy/mcp_/examples/retry_example.py +226 -0
  125. code_puppy/mcp_/health_monitor.py +589 -0
  126. code_puppy/mcp_/managed_server.py +428 -0
  127. code_puppy/mcp_/manager.py +807 -0
  128. code_puppy/mcp_/mcp_logs.py +224 -0
  129. code_puppy/mcp_/registry.py +451 -0
  130. code_puppy/mcp_/retry_manager.py +337 -0
  131. code_puppy/mcp_/server_registry_catalog.py +1126 -0
  132. code_puppy/mcp_/status_tracker.py +355 -0
  133. code_puppy/mcp_/system_tools.py +209 -0
  134. code_puppy/mcp_prompts/__init__.py +1 -0
  135. code_puppy/mcp_prompts/hook_creator.py +103 -0
  136. code_puppy/messaging/__init__.py +255 -0
  137. code_puppy/messaging/bus.py +613 -0
  138. code_puppy/messaging/commands.py +167 -0
  139. code_puppy/messaging/markdown_patches.py +57 -0
  140. code_puppy/messaging/message_queue.py +361 -0
  141. code_puppy/messaging/messages.py +569 -0
  142. code_puppy/messaging/queue_console.py +271 -0
  143. code_puppy/messaging/renderers.py +311 -0
  144. code_puppy/messaging/rich_renderer.py +1153 -0
  145. code_puppy/messaging/spinner/__init__.py +83 -0
  146. code_puppy/messaging/spinner/console_spinner.py +240 -0
  147. code_puppy/messaging/spinner/spinner_base.py +96 -0
  148. code_puppy/messaging/subagent_console.py +460 -0
  149. code_puppy/model_factory.py +848 -0
  150. code_puppy/model_switching.py +63 -0
  151. code_puppy/model_utils.py +168 -0
  152. code_puppy/models.json +130 -0
  153. code_puppy/models_dev_api.json +1 -0
  154. code_puppy/models_dev_parser.py +592 -0
  155. code_puppy/plugins/__init__.py +186 -0
  156. code_puppy/plugins/agent_skills/__init__.py +22 -0
  157. code_puppy/plugins/agent_skills/config.py +175 -0
  158. code_puppy/plugins/agent_skills/discovery.py +136 -0
  159. code_puppy/plugins/agent_skills/downloader.py +392 -0
  160. code_puppy/plugins/agent_skills/installer.py +22 -0
  161. code_puppy/plugins/agent_skills/metadata.py +219 -0
  162. code_puppy/plugins/agent_skills/prompt_builder.py +100 -0
  163. code_puppy/plugins/agent_skills/register_callbacks.py +241 -0
  164. code_puppy/plugins/agent_skills/remote_catalog.py +322 -0
  165. code_puppy/plugins/agent_skills/skill_catalog.py +257 -0
  166. code_puppy/plugins/agent_skills/skills_install_menu.py +664 -0
  167. code_puppy/plugins/agent_skills/skills_menu.py +781 -0
  168. code_puppy/plugins/antigravity_oauth/__init__.py +10 -0
  169. code_puppy/plugins/antigravity_oauth/accounts.py +406 -0
  170. code_puppy/plugins/antigravity_oauth/antigravity_model.py +706 -0
  171. code_puppy/plugins/antigravity_oauth/config.py +42 -0
  172. code_puppy/plugins/antigravity_oauth/constants.py +133 -0
  173. code_puppy/plugins/antigravity_oauth/oauth.py +478 -0
  174. code_puppy/plugins/antigravity_oauth/register_callbacks.py +518 -0
  175. code_puppy/plugins/antigravity_oauth/storage.py +288 -0
  176. code_puppy/plugins/antigravity_oauth/test_plugin.py +319 -0
  177. code_puppy/plugins/antigravity_oauth/token.py +167 -0
  178. code_puppy/plugins/antigravity_oauth/transport.py +863 -0
  179. code_puppy/plugins/antigravity_oauth/utils.py +168 -0
  180. code_puppy/plugins/chatgpt_oauth/__init__.py +8 -0
  181. code_puppy/plugins/chatgpt_oauth/config.py +52 -0
  182. code_puppy/plugins/chatgpt_oauth/oauth_flow.py +328 -0
  183. code_puppy/plugins/chatgpt_oauth/register_callbacks.py +176 -0
  184. code_puppy/plugins/chatgpt_oauth/test_plugin.py +295 -0
  185. code_puppy/plugins/chatgpt_oauth/utils.py +499 -0
  186. code_puppy/plugins/claude_code_hooks/__init__.py +1 -0
  187. code_puppy/plugins/claude_code_hooks/config.py +131 -0
  188. code_puppy/plugins/claude_code_hooks/register_callbacks.py +163 -0
  189. code_puppy/plugins/claude_code_oauth/README.md +167 -0
  190. code_puppy/plugins/claude_code_oauth/SETUP.md +93 -0
  191. code_puppy/plugins/claude_code_oauth/__init__.py +25 -0
  192. code_puppy/plugins/claude_code_oauth/config.py +52 -0
  193. code_puppy/plugins/claude_code_oauth/register_callbacks.py +453 -0
  194. code_puppy/plugins/claude_code_oauth/test_plugin.py +283 -0
  195. code_puppy/plugins/claude_code_oauth/token_refresh_heartbeat.py +241 -0
  196. code_puppy/plugins/claude_code_oauth/utils.py +601 -0
  197. code_puppy/plugins/customizable_commands/__init__.py +0 -0
  198. code_puppy/plugins/customizable_commands/register_callbacks.py +152 -0
  199. code_puppy/plugins/example_custom_command/README.md +280 -0
  200. code_puppy/plugins/example_custom_command/register_callbacks.py +48 -0
  201. code_puppy/plugins/file_permission_handler/__init__.py +4 -0
  202. code_puppy/plugins/file_permission_handler/register_callbacks.py +528 -0
  203. code_puppy/plugins/frontend_emitter/__init__.py +25 -0
  204. code_puppy/plugins/frontend_emitter/emitter.py +121 -0
  205. code_puppy/plugins/frontend_emitter/register_callbacks.py +261 -0
  206. code_puppy/plugins/hook_creator/__init__.py +1 -0
  207. code_puppy/plugins/hook_creator/register_callbacks.py +33 -0
  208. code_puppy/plugins/hook_manager/__init__.py +1 -0
  209. code_puppy/plugins/hook_manager/config.py +277 -0
  210. code_puppy/plugins/hook_manager/hooks_menu.py +551 -0
  211. code_puppy/plugins/hook_manager/register_callbacks.py +205 -0
  212. code_puppy/plugins/oauth_puppy_html.py +224 -0
  213. code_puppy/plugins/scheduler/__init__.py +1 -0
  214. code_puppy/plugins/scheduler/register_callbacks.py +88 -0
  215. code_puppy/plugins/scheduler/scheduler_menu.py +522 -0
  216. code_puppy/plugins/scheduler/scheduler_wizard.py +341 -0
  217. code_puppy/plugins/shell_safety/__init__.py +6 -0
  218. code_puppy/plugins/shell_safety/agent_shell_safety.py +69 -0
  219. code_puppy/plugins/shell_safety/command_cache.py +156 -0
  220. code_puppy/plugins/shell_safety/register_callbacks.py +202 -0
  221. code_puppy/plugins/synthetic_status/__init__.py +1 -0
  222. code_puppy/plugins/synthetic_status/register_callbacks.py +132 -0
  223. code_puppy/plugins/synthetic_status/status_api.py +147 -0
  224. code_puppy/plugins/universal_constructor/__init__.py +13 -0
  225. code_puppy/plugins/universal_constructor/models.py +138 -0
  226. code_puppy/plugins/universal_constructor/register_callbacks.py +47 -0
  227. code_puppy/plugins/universal_constructor/registry.py +302 -0
  228. code_puppy/plugins/universal_constructor/sandbox.py +584 -0
  229. code_puppy/prompts/antigravity_system_prompt.md +1 -0
  230. code_puppy/pydantic_patches.py +317 -0
  231. code_puppy/reopenable_async_client.py +232 -0
  232. code_puppy/round_robin_model.py +150 -0
  233. code_puppy/scheduler/__init__.py +41 -0
  234. code_puppy/scheduler/__main__.py +9 -0
  235. code_puppy/scheduler/cli.py +118 -0
  236. code_puppy/scheduler/config.py +126 -0
  237. code_puppy/scheduler/daemon.py +280 -0
  238. code_puppy/scheduler/executor.py +155 -0
  239. code_puppy/scheduler/platform.py +19 -0
  240. code_puppy/scheduler/platform_unix.py +22 -0
  241. code_puppy/scheduler/platform_win.py +32 -0
  242. code_puppy/session_storage.py +338 -0
  243. code_puppy/status_display.py +257 -0
  244. code_puppy/summarization_agent.py +176 -0
  245. code_puppy/terminal_utils.py +418 -0
  246. code_puppy/tools/__init__.py +470 -0
  247. code_puppy/tools/agent_tools.py +616 -0
  248. code_puppy/tools/ask_user_question/__init__.py +26 -0
  249. code_puppy/tools/ask_user_question/constants.py +73 -0
  250. code_puppy/tools/ask_user_question/demo_tui.py +55 -0
  251. code_puppy/tools/ask_user_question/handler.py +232 -0
  252. code_puppy/tools/ask_user_question/models.py +304 -0
  253. code_puppy/tools/ask_user_question/registration.py +36 -0
  254. code_puppy/tools/ask_user_question/renderers.py +309 -0
  255. code_puppy/tools/ask_user_question/terminal_ui.py +329 -0
  256. code_puppy/tools/ask_user_question/theme.py +155 -0
  257. code_puppy/tools/ask_user_question/tui_loop.py +423 -0
  258. code_puppy/tools/browser/__init__.py +37 -0
  259. code_puppy/tools/browser/browser_control.py +289 -0
  260. code_puppy/tools/browser/browser_interactions.py +545 -0
  261. code_puppy/tools/browser/browser_locators.py +640 -0
  262. code_puppy/tools/browser/browser_manager.py +378 -0
  263. code_puppy/tools/browser/browser_navigation.py +251 -0
  264. code_puppy/tools/browser/browser_screenshot.py +179 -0
  265. code_puppy/tools/browser/browser_scripts.py +462 -0
  266. code_puppy/tools/browser/browser_workflows.py +221 -0
  267. code_puppy/tools/browser/chromium_terminal_manager.py +259 -0
  268. code_puppy/tools/browser/terminal_command_tools.py +534 -0
  269. code_puppy/tools/browser/terminal_screenshot_tools.py +552 -0
  270. code_puppy/tools/browser/terminal_tools.py +525 -0
  271. code_puppy/tools/command_runner.py +1346 -0
  272. code_puppy/tools/common.py +1409 -0
  273. code_puppy/tools/display.py +84 -0
  274. code_puppy/tools/file_modifications.py +739 -0
  275. code_puppy/tools/file_operations.py +802 -0
  276. code_puppy/tools/scheduler_tools.py +412 -0
  277. code_puppy/tools/skills_tools.py +251 -0
  278. code_puppy/tools/subagent_context.py +158 -0
  279. code_puppy/tools/tools_content.py +51 -0
  280. code_puppy/tools/universal_constructor.py +889 -0
  281. code_puppy/uvx_detection.py +242 -0
  282. code_puppy/version_checker.py +82 -0
  283. newcode-0.1.1.data/data/code_puppy/models.json +130 -0
  284. newcode-0.1.1.data/data/code_puppy/models_dev_api.json +1 -0
  285. newcode-0.1.1.dist-info/METADATA +154 -0
  286. newcode-0.1.1.dist-info/RECORD +289 -0
  287. newcode-0.1.1.dist-info/WHEEL +4 -0
  288. newcode-0.1.1.dist-info/entry_points.txt +3 -0
  289. newcode-0.1.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,154 @@
1
+ Metadata-Version: 2.4
2
+ Name: newcode
3
+ Version: 0.1.1
4
+ Summary: AI-powered code generation agent - a fedstew fork of code-puppy
5
+ Project-URL: repository, https://github.com/janfeddersen-wq/new_code
6
+ Project-URL: HomePage, https://github.com/janfeddersen-wq/new_code
7
+ Project-URL: Upstream, https://github.com/mpfaffenberger/code_puppy
8
+ Author: Jan Feddersen, Michael Pfaffenberger (original code-puppy author)
9
+ License: MIT
10
+ License-File: LICENSE
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Software Development :: Code Generators
18
+ Requires-Python: <3.14,>=3.11
19
+ Requires-Dist: anthropic==0.79.0
20
+ Requires-Dist: dbos>=2.11.0
21
+ Requires-Dist: fastapi>=0.109.0
22
+ Requires-Dist: httpx[http2]>=0.24.1
23
+ Requires-Dist: json-repair>=0.46.2
24
+ Requires-Dist: mcp>=1.9.4
25
+ Requires-Dist: openai>=1.99.1
26
+ Requires-Dist: pillow>=10.0.0
27
+ Requires-Dist: playwright>=1.40.0
28
+ Requires-Dist: prompt-toolkit>=3.0.52
29
+ Requires-Dist: pydantic-ai-slim[anthropic,mcp,openai]==1.56.0
30
+ Requires-Dist: pydantic>=2.4.0
31
+ Requires-Dist: pyfiglet>=0.8.post1
32
+ Requires-Dist: python-dotenv>=1.0.0
33
+ Requires-Dist: rapidfuzz>=3.13.0
34
+ Requires-Dist: requests>=2.28.0
35
+ Requires-Dist: rich>=13.4.2
36
+ Requires-Dist: ripgrep==14.1.0
37
+ Requires-Dist: tenacity>=8.2.0
38
+ Requires-Dist: termflow-md>=0.1.8
39
+ Requires-Dist: typer>=0.12.0
40
+ Requires-Dist: uvicorn[standard]>=0.27.0
41
+ Requires-Dist: websockets>=12.0
42
+ Description-Content-Type: text/markdown
43
+
44
+ # NewCode
45
+
46
+ An AI-powered code generation and modification agent for the terminal.
47
+
48
+ NewCode is a fork of [code-puppy](https://github.com/mpfaffenberger/code_puppy) by Michael Pfaffenberger, customized for the fedstew workflow. We wanted a clean, professional CLI agent with opinionated defaults, streamlined prompts, and a focus on practical code generation without the playful branding.
49
+
50
+ ## What changed from code-puppy
51
+
52
+ - Removed all dog/puppy-themed branding and emojis in favor of a clean, professional interface
53
+ - Renamed "Pack" multi-agent system to use functional names (Orchestrator, Tracker, Executor, Reviewer, etc.)
54
+ - Rewrote all agent system prompts for clarity and professionalism
55
+ - Increased output validation retries from 3 to 10 for more robust model interactions
56
+ - Updated configuration keys and display names throughout
57
+ - Published to PyPI as `newcode` instead of `code-puppy`
58
+
59
+ ## Installation
60
+
61
+ ```bash
62
+ pip install newcode
63
+ ```
64
+
65
+ Or with [uv](https://docs.astral.sh/uv/):
66
+
67
+ ```bash
68
+ uv pip install newcode
69
+ ```
70
+
71
+ ## Quick Start
72
+
73
+ ```bash
74
+ # Run the agent
75
+ newcode
76
+
77
+ # Or use the short alias
78
+ nc
79
+ ```
80
+
81
+ On first run, you'll be guided through a setup wizard to configure your API keys and preferences.
82
+
83
+ ## Requirements
84
+
85
+ - Python 3.11 - 3.13
86
+ - An API key for at least one supported provider (OpenAI, Anthropic, Cerebras, Google Gemini, etc.)
87
+
88
+ ## Features
89
+
90
+ - Multi-model support: OpenAI, Anthropic Claude, Google Gemini, Cerebras, and more
91
+ - Multi-agent workflows with specialized agents (Orchestrator, Tracker, Executor, Reviewer, QA Checker, Workspace Manager, Merger)
92
+ - File operations: read, write, edit, delete with diff previews and permission prompts
93
+ - Shell command execution with safety controls
94
+ - Browser-based terminal via built-in API server
95
+ - Scheduled task execution with a background daemon
96
+ - Plugin system with lifecycle callbacks and event-based hooks
97
+ - Interactive TUI menus for configuration, model selection, and task management
98
+ - Session auto-save and restore
99
+ - MCP (Model Context Protocol) server support
100
+
101
+ ## Configuration
102
+
103
+ Configuration is stored in `~/.config/code_puppy/puppy.cfg` (XDG-compliant paths). The setup wizard handles initial configuration. You can also use CLI commands:
104
+
105
+ ```bash
106
+ # Inside the agent REPL:
107
+ /config # Show current configuration
108
+ /model # Switch models
109
+ /agent # Switch agents
110
+ /scheduler # Manage scheduled tasks
111
+ /colors # Customize terminal colors
112
+ ```
113
+
114
+ ## Agents
115
+
116
+ | Agent | Purpose |
117
+ |-------|---------|
118
+ | Code Agent | General-purpose code generation and modification (default) |
119
+ | Orchestrator | Multi-agent workflow coordination |
120
+ | Tracker | Code search and navigation |
121
+ | Executor | Shell command execution |
122
+ | Reviewer | Code review and quality checks |
123
+ | QA Checker | Testing and validation |
124
+ | Workspace Manager | File system operations |
125
+ | Merger | Result integration |
126
+ | Python Reviewer | Python-specific code review |
127
+ | QA Expert | Testing strategy and quality assurance |
128
+ | Security Auditor | Security analysis |
129
+
130
+ ## Development
131
+
132
+ ```bash
133
+ # Clone the repo
134
+ git clone https://github.com/janfeddersen-wq/new_code.git
135
+ cd new_code
136
+
137
+ # Install with dev dependencies
138
+ uv pip install -e ".[dev]"
139
+
140
+ # Run tests
141
+ uv run pytest tests/ -v
142
+
143
+ # Lint
144
+ ruff check .
145
+ ruff format --check .
146
+ ```
147
+
148
+ ## Credits
149
+
150
+ This project is a fork of [code-puppy](https://github.com/mpfaffenberger/code_puppy) by [Michael Pfaffenberger](https://github.com/mpfaffenberger), licensed under the MIT License. We are grateful for the original work and the open-source foundation it provides.
151
+
152
+ ## License
153
+
154
+ MIT License - see [LICENSE](LICENSE) for details.
@@ -0,0 +1,289 @@
1
+ code_puppy/__init__.py,sha256=3eR5KD749RRkPHcVF2F11TA9bKqAnu3vJ5DTpJ4oIiE,368
2
+ code_puppy/__main__.py,sha256=2-BxRCGJNcpLg--K0aO4-2tPBGUOC78HQNfVlWJqmQ0,200
3
+ code_puppy/callbacks.py,sha256=mHFxKVGUCUy8_zjiOZ-DrFEStazVrxyRKGYaaUCSOtw,21927
4
+ code_puppy/chatgpt_codex_client.py,sha256=cTjFuMY1pdbtTfBbmFuGm2iOzm7G7Xnxo9h005fM2bA,12522
5
+ code_puppy/claude_cache_client.py,sha256=UzpqaU-i3TohWsi4qC9UguxNs5oXTlSOsPeVYKVzaCQ,25461
6
+ code_puppy/cli_runner.py,sha256=kWqny_MX_g6BUAOppfroqr5SwOh_wdk_0XaAEmKvQwA,39675
7
+ code_puppy/config.py,sha256=_46svRuCVO2t9SIud_ktP3fykzpbzCSKTWiwwPi8TFE,59679
8
+ code_puppy/error_logging.py,sha256=OrZYufVxDyMHBuwTASKmwtjMlNY4om5kk-q2QGZuKgA,3710
9
+ code_puppy/gemini_code_assist.py,sha256=KGS7sO5OLc83nDF3xxS-QiU6vxW9vcm6hmzilu79Ef8,13867
10
+ code_puppy/gemini_model.py,sha256=duSYgEOL1-teuXf0FGA_Ooxd2qDoVHR85akDHow0MCM,28166
11
+ code_puppy/http_utils.py,sha256=xs6LVfJU_odeTeLjzTVUl7EToDHRkyufeqUIngsSzMM,11476
12
+ code_puppy/keymap.py,sha256=IvMkTlB_bIqOWpbTpmftkdyjhtD5todXuEIw1zCZ4u0,3584
13
+ code_puppy/main.py,sha256=bKz5Mz5sm7ytHhQ7ZEw54XBEPZWtMRLD93SYp_1VYFg,266
14
+ code_puppy/model_factory.py,sha256=HiyLcuGj-7IWf9SXMwDSZaLSSSGAJOnVO52B5y6vak0,36484
15
+ code_puppy/model_switching.py,sha256=3IsnSWKHLWzI5d2WDYNg0Xr78BeYNN1WrZuzas-lYJ4,2064
16
+ code_puppy/model_utils.py,sha256=5irnnok7iEWPHrj344j-elV8g9hX-ULdaAzWWJIIxhI,5743
17
+ code_puppy/models.json,sha256=BoWCrPes3diXIBrUR6CNfybGOy9QysP1p99ReOcmirI,4002
18
+ code_puppy/models_dev_api.json,sha256=wHjkj-IM_fx1oHki6-GqtOoCrRMR0ScK0f-Iz0UEcy8,548187
19
+ code_puppy/models_dev_parser.py,sha256=zDImPh7lu3Wr2SkYE73rVucIWYMErB2iR33nL1z3nrU,20589
20
+ code_puppy/pydantic_patches.py,sha256=Ww-foIdQps55_10Z_eVM-YJS0lB7EN_jmNwssFRPnJw,11775
21
+ code_puppy/reopenable_async_client.py,sha256=J3VZqMrBUDKabHlXeTkLv6i9-Fb2xPGIYlNtMmjslO4,8556
22
+ code_puppy/round_robin_model.py,sha256=jWlGnditj2nZJc5SV6Ik1XAqZJ8l4BmXpxuFkwmQaWQ,5506
23
+ code_puppy/session_storage.py,sha256=U6f2lbQ5ccaWiPeRaceDxndOvnLMXCY8AWbFR6QDBdY,10998
24
+ code_puppy/status_display.py,sha256=8caTviPu8uYuLoLtR_ST2KrFQyQbynNjwQ88xN92_FE,9357
25
+ code_puppy/summarization_agent.py,sha256=wCrEccb7_NyfTseSjeSDlbUOTAlDmCugMlHT67zJV2E,6301
26
+ code_puppy/terminal_utils.py,sha256=X6PQKOP3mFHqNrcLUVnqkqQdi_rQ6JUkzKLxEbq1Bk0,12994
27
+ code_puppy/uvx_detection.py,sha256=tP9X9Nvzow--KIqtqjgrHQkSxMJ3EevfoaeoB9VLY2o,7224
28
+ code_puppy/version_checker.py,sha256=Sg3xlL20RuHEQL6e2SdwqVakkfeAWOZBRQgh1WOv1ws,2742
29
+ code_puppy/agents/__init__.py,sha256=OjdPBQoywc50OM6lO6QydEUuPeekbFQBL3kxR3lGczo,748
30
+ code_puppy/agents/agent_c_reviewer.py,sha256=1kO_89hcrhlS4sJ6elDLSEx-h43jAaWGgvIL0SZUuKo,8214
31
+ code_puppy/agents/agent_code_puppy.py,sha256=h2T94IaKyXOIgdJBPq7ePyaCrDhAwP1lxW75sJEWbRU,6482
32
+ code_puppy/agents/agent_code_reviewer.py,sha256=V9pznpi7z1XTYBjRj1Em8S71PbFXLvU8z0gCmPAQxSc,4635
33
+ code_puppy/agents/agent_cpp_reviewer.py,sha256=lbaGU4aKSNBrxsYfN86BKOeKBgL8kS9sLthcjoAmL54,7810
34
+ code_puppy/agents/agent_creator_agent.py,sha256=JWMnLjoaH14z4AMHgkZj_lceUwUOKC1aTNXGrMfnYLE,26995
35
+ code_puppy/agents/agent_golang_reviewer.py,sha256=VEAwiQW06occkfABVz9Y7wStQ8pFtX94DAvZdRSRuzs,9319
36
+ code_puppy/agents/agent_helios.py,sha256=VW45cUywmnEcLcVCEYdqYl2kJ0vO9AZgJBZQBK6_IXo,5024
37
+ code_puppy/agents/agent_javascript_reviewer.py,sha256=ATSXl278kPU4F6hiYsMMGkGrrWDlJqPwaYwYGNuo9J0,9494
38
+ code_puppy/agents/agent_manager.py,sha256=yTPJBQATlAzeF_Ie3ot4PGWsyFb8w5gwOR21xsv0_Iw,25289
39
+ code_puppy/agents/agent_pack_leader.py,sha256=0hEfAFTPd2wdH5NLr1XIaQbosbw3g-rh9JQiDTyLvjc,14016
40
+ code_puppy/agents/agent_planning.py,sha256=17lc5SbIVOHV8ogTx8xFgKOubvVQ_vSc4z8bYmlBP8c,6967
41
+ code_puppy/agents/agent_python_programmer.py,sha256=K4iTLUqkEfziNXQRgi2djAqInOtiyuOM37gzVZnnCUc,6913
42
+ code_puppy/agents/agent_python_reviewer.py,sha256=ajJSYNqAaohek4-dhNryFSD-onCgj5uXlljTSuXsNTo,5849
43
+ code_puppy/agents/agent_qa_expert.py,sha256=0YgscO2TFChgvp-WweoAJTAsuJjq8Xm01RQLYPC7jaE,10120
44
+ code_puppy/agents/agent_qa_kitten.py,sha256=qvry-1u_CiXi8eRueHTax4OtqsS_mQrtXHsbTXWzGYs,9517
45
+ code_puppy/agents/agent_scheduler.py,sha256=jqRdlWKNhfw8WOCjjT3XwDi4JF1GREoh-OJCmS-51kI,4350
46
+ code_puppy/agents/agent_security_auditor.py,sha256=SpiYNA0XAsIwBj7S2_EQPRslRUmF_-b89pIJyW7DYtY,12022
47
+ code_puppy/agents/agent_terminal_qa.py,sha256=CKEXaPBbW43bTc3bHqDevStgeUlPsLagFeTBor_kn5k,10314
48
+ code_puppy/agents/agent_typescript_reviewer.py,sha256=vsnpp98xg6cIoFAEJrRTUM_i4wLEWGm5nJxs6fhHobM,10275
49
+ code_puppy/agents/base_agent.py,sha256=Or9RTrLQ0Y-HzMETYrwQdCFZKffkI0BGzS_gRjPAr_g,86716
50
+ code_puppy/agents/event_stream_handler.py,sha256=9jUwiHmNOnbCQm02sF-C0w1lPoupfLoYkzMJ24Uq6Q8,14989
51
+ code_puppy/agents/json_agent.py,sha256=QcVHL70oLGoDWshsaSAtKavk-j0M4UlSfY-JDQ2d6RA,6911
52
+ code_puppy/agents/prompt_reviewer.py,sha256=C8NzrmMBazNtbwiqwKL2D45JYP39StsC0zGJEhVMEno,5539
53
+ code_puppy/agents/subagent_stream_handler.py,sha256=5imUFYOJCv7blfv4fTHm6OQ7JpqlyFv_luBYGSj16MA,10329
54
+ code_puppy/agents/pack/__init__.py,sha256=Hv7TV9QGiSCS9SoykLg_gwbVdoscEpDkG-9DGfcM4O0,1196
55
+ code_puppy/agents/pack/bloodhound.py,sha256=j5IcpFOEQxnhXPhD8IL1DCyrjS-hleoTbCB7Thff00o,8938
56
+ code_puppy/agents/pack/husky.py,sha256=KwmHBHpMcGtjYjqZtyDoN-QjJzL3adRgFtmcVPemS9I,8780
57
+ code_puppy/agents/pack/retriever.py,sha256=lYs_UbNSn5O8ZbqiMlw_zjKaOOylojuUC_3X1YBm2l0,9560
58
+ code_puppy/agents/pack/shepherd.py,sha256=Nj8AEzbxW0IHT5OJ62yrNBDIypJcsa3SjiwptrI2niE,8812
59
+ code_puppy/agents/pack/terrier.py,sha256=1nD43Aub3PPQZ7w6X9ObySHV4Be6gYgxAQWM599fCNc,7657
60
+ code_puppy/agents/pack/watchdog.py,sha256=S5vnlpbLmo1kKimPOGqVD9SvTYXVPGRPhlqv8Y1YQHw,9557
61
+ code_puppy/api/__init__.py,sha256=FKW9AiR1XRfLmltVRQZAeM3YaJNjE16zVDqCrvrrxwY,351
62
+ code_puppy/api/app.py,sha256=juOiq7HsV7TY77LVbrnOtNz8euoCApbpU4Lk9bTsT2o,5389
63
+ code_puppy/api/main.py,sha256=ycWD5_aWwdOQ2GPnqsQC-BjINNx_Qie6xFyjr9gYofI,453
64
+ code_puppy/api/pty_manager.py,sha256=KyNFjSrwWFY7o976YWdVfui1ART_6J-oOyuBaQzd2EE,14086
65
+ code_puppy/api/websocket.py,sha256=d6V7_a2V81lPogXR2ngQoOSOnwSZitsKE_fqDVng9fQ,5353
66
+ code_puppy/api/routers/__init__.py,sha256=LoKyYHoG2BsyWa90UMQChTJjUlCDylr5oPKSV1VcdcA,419
67
+ code_puppy/api/routers/agents.py,sha256=Lshn89lIBi49if6GoJDBZQ2_8l7JfgAUy4gvYXlfmws,939
68
+ code_puppy/api/routers/commands.py,sha256=HRvsYmjrUL_tha7-nKFBEJhGRfUlCspKkngwLU8TQ6Y,6513
69
+ code_puppy/api/routers/config.py,sha256=moJ4cBKzwOMFBGOe_BC0HhRzCeZgYvsrPUNC4CaDLtY,2006
70
+ code_puppy/api/routers/sessions.py,sha256=tt9rEMDVDU7VORSSmICyaa4uzBRJ8BXL50fv4STu1HM,6835
71
+ code_puppy/api/templates/terminal.html,sha256=XtTK85_jltHuBCuxg1unLhxSy-6LlN93pp-HBACQlmA,13117
72
+ code_puppy/command_line/__init__.py,sha256=y7WeRemfYppk8KVbCGeAIiTuiOszIURCDjOMZv_YRmU,45
73
+ code_puppy/command_line/add_model_menu.py,sha256=wmVe4VBcBkYvA2wiJgALSXoHoWdiaXrUqN_aOG4byFk,43713
74
+ code_puppy/command_line/agent_menu.py,sha256=ZHYtHJM688q5lprt-SfXS1socOHN8WX-ofRmr_cH0_0,20927
75
+ code_puppy/command_line/attachments.py,sha256=4Q5I2Es4j0ltnz5wjw2z0QXMsiMJvEfWRkPf_lJeITM,13093
76
+ code_puppy/command_line/autosave_menu.py,sha256=vere8oNwBGSd7OhqR5Q_Wl4GwjHvhg2NwNxTNzqAB6s,23191
77
+ code_puppy/command_line/clipboard.py,sha256=oe9bfAX5RnT81FiYrDmhvHaePS1tAT-NFG1fSXubSD4,16869
78
+ code_puppy/command_line/colors_menu.py,sha256=ytY1tSmvC-6l6LZN0o0XejhZU_Hoh9BQkiZoa6uGhHk,17673
79
+ code_puppy/command_line/command_handler.py,sha256=yDR_NAvgwjFKxUuQMY5yzkkihFovDiT24wyKALmJSRU,10969
80
+ code_puppy/command_line/command_registry.py,sha256=qFySsw1g8dol3kgi0p6cXrIDlP11_OhOoaQ5nAadWXg,4416
81
+ code_puppy/command_line/config_commands.py,sha256=AtLAMkbo3OTjqjpFxdhOjn39zTVH_ZRP03Is_JxZ4Kw,25884
82
+ code_puppy/command_line/core_commands.py,sha256=I74rQeXjrCr2bPsylYQGSY2B9d7_JALhBEYAI7uNZgg,29064
83
+ code_puppy/command_line/diff_menu.py,sha256=N19LUal28f4_ApdC8z0WyY1Y1NeH8vRfa7tusOK_WO4,24254
84
+ code_puppy/command_line/file_path_completion.py,sha256=gw8NpIxa6GOpczUJRyh7VNZwoXKKn-yvCqit7h2y6Gg,2931
85
+ code_puppy/command_line/load_context_completion.py,sha256=a3JvLDeLLSYxVgTjAdqWzS4spjv6ccCrK2LKZgVJ1IM,2202
86
+ code_puppy/command_line/mcp_completion.py,sha256=eKzW2O7gun7HoHekOW0XVXhNS5J2xCtK7aaWyA8bkZk,6952
87
+ code_puppy/command_line/model_picker_completion.py,sha256=OBED05y3FuhZaBQM-f8374h21-wwVq4LRZhRmDrrG7Y,7076
88
+ code_puppy/command_line/model_settings_menu.py,sha256=4E0x9RwRfhP8uCwBozeXED-BZ-ujaCeea5W0nEcayjE,34651
89
+ code_puppy/command_line/motd.py,sha256=cgIZbQ9sQntk80HYu6gdLJPipGxRCvIEavaFVm0tzc0,2607
90
+ code_puppy/command_line/onboarding_slides.py,sha256=pgABcf2SZG4Rc8WYOfXtyJyS9iw9jcrmQhgbhByBiUM,7086
91
+ code_puppy/command_line/onboarding_wizard.py,sha256=iGsoVbjlq0-iphRIe7Az_SId-cfrTOejauRfhR5CzK8,10301
92
+ code_puppy/command_line/pin_command_completion.py,sha256=juSvdqRpk7AdfkPy1DJx5NzfEUU5KYGlChvP0hisM18,11667
93
+ code_puppy/command_line/prompt_toolkit_completion.py,sha256=e2FKywSSmrcbaiE9DW2YTdw6vyEQhB3sts5yfS-hh7k,33999
94
+ code_puppy/command_line/session_commands.py,sha256=q-LhXm4R9OAPT1VmL0k979phcoNrYPQmrPUR0hd-nW4,10056
95
+ code_puppy/command_line/skills_completion.py,sha256=Hk0Y8HBaDjOblEK4gRJ3HVRIp4ZpOsk9CE58C_K6w3E,5614
96
+ code_puppy/command_line/uc_menu.py,sha256=YsCRofSM4mT2Pgp8oGc7MA0BxHroPa9IJ_cB6NM0_og,26183
97
+ code_puppy/command_line/utils.py,sha256=1nl9R_YQP9h0A0dXDEuQz6I6pd2A1MS9auILEyF3w5w,2959
98
+ code_puppy/command_line/wiggum_state.py,sha256=Gfz-j6o5HFou-8cU8lvbFKPIejF8QvubCr9aUFG30vA,1945
99
+ code_puppy/command_line/mcp/__init__.py,sha256=0-OQuwjq_pLiTVJ1_NrirVwdRerghyKs_MTZkwPC7YY,315
100
+ code_puppy/command_line/mcp/base.py,sha256=pPeNnSyM0GGqD6mhYN-qA22rAT9bEapxliwH_YiIu3Q,823
101
+ code_puppy/command_line/mcp/catalog_server_installer.py,sha256=G9FvQPTBB4LeJ4cOR9DvIkp82mClKRKI35KELbFLCKU,6181
102
+ code_puppy/command_line/mcp/custom_server_form.py,sha256=z0hsqXY1_ScJoacneyfrFHeVUlU3ZUHYt6CXV1wnJ0Y,23733
103
+ code_puppy/command_line/mcp/custom_server_installer.py,sha256=oLB5j07XKApdTrCDlY97GxE1NHrqupsX6DOCXzFj3TE,5744
104
+ code_puppy/command_line/mcp/edit_command.py,sha256=_WxxpaTgxo9pbvMogG9yvh2mcLE5SYf0Qbi8a8IpZ0k,4603
105
+ code_puppy/command_line/mcp/handler.py,sha256=jwhcLi28QQ6IuE6E5IsMbU67jMZChfZW96hG9ezYgN4,4547
106
+ code_puppy/command_line/mcp/help_command.py,sha256=sTWecPqmmq6vmLVgZVNjBXKnziCLoJSKsugHkxiJlTI,5285
107
+ code_puppy/command_line/mcp/install_command.py,sha256=lmUyMUWtkGuy1SOQRHjQgt8mD3t1agVMQfEL5_TOzTM,8364
108
+ code_puppy/command_line/mcp/install_menu.py,sha256=q5XKfqGiUoM4fsA51nKHWHVOPXEN1jUXmoNePJ6ny48,25134
109
+ code_puppy/command_line/mcp/list_command.py,sha256=UKQFPlhT9qGMCyG5VKjvnSMzDDtfAhIaKU_eErgZJDg,3181
110
+ code_puppy/command_line/mcp/logs_command.py,sha256=IZzOadnI2ch6j4AcdjuHwJYJWKw1_K1rrCh9_aVK94k,7759
111
+ code_puppy/command_line/mcp/remove_command.py,sha256=hyU_tKJWfyLnmufrFVLwlF0qFEbghXBVMOvSgWvaEgA,2755
112
+ code_puppy/command_line/mcp/restart_command.py,sha256=w5EcDac09iCvPBAR0u2M5KSIhASqTu5uZwsjCJ4JLhk,3588
113
+ code_puppy/command_line/mcp/search_command.py,sha256=mDkSz_KjPbvlO9U7oYUKJlqqY4QM90gWKO2xsH2i3SA,4244
114
+ code_puppy/command_line/mcp/start_all_command.py,sha256=_TVrjRR_oqJVS6qQaHssS0V_3342av1h9gz-Fxwa-Dw,4667
115
+ code_puppy/command_line/mcp/start_command.py,sha256=XhuhyMpuo2Bkp53qxvZBSM8yRGatcwY8m-DXcQBHAZc,4344
116
+ code_puppy/command_line/mcp/status_command.py,sha256=NCyjFlBMURQ39T3G2dTPbyJdNC6X14FyWFzVh4BBnig,6657
117
+ code_puppy/command_line/mcp/stop_all_command.py,sha256=33mRvxd2cBbTXE6BSkSzFmdDOT4yCxwGEDrHczqpavw,3864
118
+ code_puppy/command_line/mcp/stop_command.py,sha256=iMzk9h6NuUDg0hhI5eDLem5VS8IwBC7xg8AU-7jsmBE,2679
119
+ code_puppy/command_line/mcp/test_command.py,sha256=eV8u5KKClRK1M2_os1zA78b9TDuYUG_uEk7AfMfD2HY,3691
120
+ code_puppy/command_line/mcp/utils.py,sha256=0Wt4ttYgSlVvtusYmBLKXSkjAjcsDiUxcZQAoFLUNnE,3625
121
+ code_puppy/command_line/mcp/wizard_utils.py,sha256=2DWjYKKX9vKPwI6BYFYZZRxdWUknq7hJlGHZoBfu4sQ,11127
122
+ code_puppy/hook_engine/README.md,sha256=ee0_9-cXN35PbOPPNxCv7xza38WdzHMq7yBzc38Lay0,3690
123
+ code_puppy/hook_engine/__init__.py,sha256=qtY-oucdd9M8DlM3wx-55YrovDZAGyFG-F9jDQk2xMU,326
124
+ code_puppy/hook_engine/aliases.py,sha256=td_s6-CpNelfoMGQ4cg9kXPapRQhatCwE9R-7IgWSVo,6167
125
+ code_puppy/hook_engine/engine.py,sha256=_AtTrmphh8f1afHSHZQJ2zcX0o591pl-6Z1ozcKjaRM,6925
126
+ code_puppy/hook_engine/executor.py,sha256=S0rzN_XpInGAdkkGymo9KeIe8vv-i4P3ppwDLt2HHN8,9614
127
+ code_puppy/hook_engine/matcher.py,sha256=Mr998UjpzqWFD-8JSiXRfc1GdZQbXT5CnnsDZ-E4zLU,4643
128
+ code_puppy/hook_engine/models.py,sha256=cHS6lGCLBt27FSNOXy2cVUK-xQpK0ZvkUDMn4NHqQTk,7482
129
+ code_puppy/hook_engine/registry.py,sha256=R3HETLt_RMvBOACWMlxOZiLKUHkKKMR2zUOAELgKjGI,3172
130
+ code_puppy/hook_engine/validator.py,sha256=j1jC4c0ctADHdAp7VCkcl0M9cZvk47LLOOcAIqBbPzU,4443
131
+ code_puppy/mcp_/__init__.py,sha256=VCeru8gGUSL-TWO0kFs6wftzQPHnMR8mAmZcplShYBg,1780
132
+ code_puppy/mcp_/async_lifecycle.py,sha256=Z4WK7Fl_aGJ7QRJ10Hl0hbHhfMYqmcHrAGvQK53UlRA,9637
133
+ code_puppy/mcp_/blocking_startup.py,sha256=OTvLYhgR78w19bCdFt91PrYPnvrlYZ7t8KdiyXti5Gg,15871
134
+ code_puppy/mcp_/captured_stdio_server.py,sha256=hp7gkQwZhFuZCDRKnzEMy8fHx66R6e2fCjuPnxzkex0,8940
135
+ code_puppy/mcp_/circuit_breaker.py,sha256=V_Rku4DqVfi-LXJAnRQxP27b_UZvNDhkO5xpFA5o9bo,11201
136
+ code_puppy/mcp_/config_wizard.py,sha256=hLDL7Z4B0qjTQopF0K1wLbJd-5r-vi7hW-c0uBbJD10,16662
137
+ code_puppy/mcp_/dashboard.py,sha256=VtaFxLtPnbM_HL2TXRDAg6IqcM-EcFkoghGgkfhMrKI,9417
138
+ code_puppy/mcp_/error_isolation.py,sha256=mpPBiH17zTXPsOEAn9WmkbwQwnt4gmgiaWv87JBJbUo,12426
139
+ code_puppy/mcp_/health_monitor.py,sha256=NagcZbGezLDdy18OZkmydBABQSAvCqc65Rev5Ovxml0,20945
140
+ code_puppy/mcp_/managed_server.py,sha256=a1vEyxwqhz6ye8OG8tyxfMm7yAiqa6wi0JjhmcH6ylc,15385
141
+ code_puppy/mcp_/manager.py,sha256=_2ZRTLS8Sf3SMgEpAHl-wXBDYVqg2l-j9uI9EkfCNaE,31062
142
+ code_puppy/mcp_/mcp_logs.py,sha256=o4pSHwELWIjEjqhfaMMEGrBvb159-VIgUp21E707BPo,6264
143
+ code_puppy/mcp_/registry.py,sha256=De0uemB5s-S3V5BqAxNyx7bt1X52MtAOtln79GohJPQ,15775
144
+ code_puppy/mcp_/retry_manager.py,sha256=qiQv8gbcl-V-pr--g1ueYOHBYIDwyj-RuR8xtrEmRYk,11220
145
+ code_puppy/mcp_/server_registry_catalog.py,sha256=O79C-JZvDUQ4d5KCJax8ZSYEV1Vs1VBeueFYeB0VgKE,39899
146
+ code_puppy/mcp_/status_tracker.py,sha256=uekxrzkzIWrv3OfSVgblaPuoGFcAh_dBYwCcaHZ_CrM,12183
147
+ code_puppy/mcp_/system_tools.py,sha256=7_oR8k0c8YjtCcYF9g7A946oAGuKOf_i-92aJH7VmlQ,7331
148
+ code_puppy/mcp_/examples/retry_example.py,sha256=Z9rYWKFuGn4H3KQNGyeX_N87mlX3NGGhnUpg4DLcIYk,7276
149
+ code_puppy/mcp_prompts/__init__.py,sha256=MChWFZbuSwWKD30Ex3wi1m8ERK24yOlxwxuW2nD_3v0,14
150
+ code_puppy/mcp_prompts/hook_creator.py,sha256=tqhTqR4mg9iiCiyUg2BSI36Ij_P1j5Aj1yXHeM3F-_I,2598
151
+ code_puppy/messaging/__init__.py,sha256=oW0U5zDPFVwirvI9aU5HZVPja7aonJBOkGWS_akO8T8,6989
152
+ code_puppy/messaging/bus.py,sha256=BpMDwmFHDBLBd4JpJua9dgrlgdoXNQWLOIZzezf1Vy4,21687
153
+ code_puppy/messaging/commands.py,sha256=LZpt6X4SZ-dHR6FGFHZpERi1nm_jofqxt-EMUedg7HE,5455
154
+ code_puppy/messaging/markdown_patches.py,sha256=dMIJozzJChuHa8QNMSEz_kC-dyt7kZiDLZ7rjthbcmg,1626
155
+ code_puppy/messaging/message_queue.py,sha256=a-EJL30Uijt7FgJIiW4WGZyrl5JeFqGq9gobpE5zFM0,11939
156
+ code_puppy/messaging/messages.py,sha256=Xh6_rBqTQFbxFApZnL7hNc_bVJY-b6_04EPuLU2nveg,20069
157
+ code_puppy/messaging/queue_console.py,sha256=Xp-rFEpaOtMi-qHvgCi9QTNvTiNgaZ9qXubddOOmImE,9983
158
+ code_puppy/messaging/renderers.py,sha256=GHVtMnxE1pJ-yrcRjacY81JcjlHRz3UVHzp-ohN-CGE,12058
159
+ code_puppy/messaging/rich_renderer.py,sha256=5KYuS2gwe-XKm5Ih7tHDUGJqvcUnT3LfEm2mQynpPAc,44209
160
+ code_puppy/messaging/subagent_console.py,sha256=5DVMikBE5VSVIAa-YJgReuS8SfbWIVsr29tY-L7BRkk,15973
161
+ code_puppy/messaging/spinner/__init__.py,sha256=eR221vdrDT7CtY3O7cLvIcPViazjNdpX0Oyqa3xpPSQ,2304
162
+ code_puppy/messaging/spinner/console_spinner.py,sha256=YIReuWPD01YPy58FqWdMDWj2QhauTUxKo675Ub4-eDA,8451
163
+ code_puppy/messaging/spinner/spinner_base.py,sha256=Jq6KkPStb8-Q9kgpedVoqSo4G0IfbFf-1CBtYxLngh0,2717
164
+ code_puppy/plugins/__init__.py,sha256=gWgrXWoFpl-3Mxz2DAvxKW6SkCWrOnw-hKsY9O7nHcI,6710
165
+ code_puppy/plugins/oauth_puppy_html.py,sha256=-seOrtwW1lTUxHblMT5EnbTNh7-D5oyrI-8AGrnQhGs,12562
166
+ code_puppy/plugins/agent_skills/__init__.py,sha256=YZEXQZmjCKMO7W3VrRlBFof_eYffSEJWIDk4R8hzMfM,577
167
+ code_puppy/plugins/agent_skills/config.py,sha256=kZm5WZsZeCzTj3LFzlqwdzOo0veT8sThfYyUgX36tV0,5254
168
+ code_puppy/plugins/agent_skills/discovery.py,sha256=CVAvm3sBGRGiMCJqOxTsg6_TNuMh7eHZTifQ7XeKZn4,3984
169
+ code_puppy/plugins/agent_skills/downloader.py,sha256=9Nzy9TWsEifquE65O0QrQFcq_Fv21yGpeDCca7b51ek,13337
170
+ code_puppy/plugins/agent_skills/installer.py,sha256=k8iuqCddGSCp0qkMAhS3hpmeHk1Y9NkRjVS-4FRRmdo,565
171
+ code_puppy/plugins/agent_skills/metadata.py,sha256=9hr8rEq8srcYwWMKW93DvqzQ0HYIqLT0sCunR_zcVew,6675
172
+ code_puppy/plugins/agent_skills/prompt_builder.py,sha256=XQOle2OEddiJ03Pz66aZRqDZPwxTqN4dUpqeaerA7Fw,3277
173
+ code_puppy/plugins/agent_skills/register_callbacks.py,sha256=JINRibZhDDts3GIKShRgp72s8TldXpq54Nif3aN9D2w,8440
174
+ code_puppy/plugins/agent_skills/remote_catalog.py,sha256=UBYnXzHlpHSHjLSROLVwzTQF-8eRPXo_s0ceWrLPBEo,10533
175
+ code_puppy/plugins/agent_skills/skill_catalog.py,sha256=4mfAwZWVS05zozSB9qkifz4dzp3LR6vKiyrOwoibXf4,7027
176
+ code_puppy/plugins/agent_skills/skills_install_menu.py,sha256=eovJbOaV1yV26Q6Y57DmO5WQfc5yjY7iZHesYpgQxxc,21853
177
+ code_puppy/plugins/agent_skills/skills_menu.py,sha256=thQrGBwNVjt7EkIiK-Ej-6FSZktKbqAWWajJ-zRAdzU,25874
178
+ code_puppy/plugins/antigravity_oauth/__init__.py,sha256=vdaaifo590TD7xhhxFMPMffOL5elbwtALwHndZHBH0I,367
179
+ code_puppy/plugins/antigravity_oauth/accounts.py,sha256=GQit2-K24bsopmTZyscFUq3M0cAEO5WutHWnipVdgz8,14304
180
+ code_puppy/plugins/antigravity_oauth/antigravity_model.py,sha256=ThCcFwGfODiEpJEDlT6_Gssn-XhpB99lCg64Tuq6nQU,26396
181
+ code_puppy/plugins/antigravity_oauth/config.py,sha256=BoQgqf5I2XoHWnBBo9vhCIc_XwPj9Mbp0Z95ygWwt78,1362
182
+ code_puppy/plugins/antigravity_oauth/constants.py,sha256=aIK_fbikF7TfM4bjpWTGlSs6blbR1JAvv78lYvTZiJQ,4867
183
+ code_puppy/plugins/antigravity_oauth/oauth.py,sha256=d0usy8SYXYfM_6S2NSL-aIoNg0Qo-dxDwmmCbOSUOyI,15138
184
+ code_puppy/plugins/antigravity_oauth/register_callbacks.py,sha256=zFVl03c3kph_mkQcRapzsJLI0ObQ7_XG_hRDDSktMGc,17255
185
+ code_puppy/plugins/antigravity_oauth/storage.py,sha256=eeQJiIxoDdXkqH5BOd3eMofeHGX2jPj7ehjk8E3wh4g,9459
186
+ code_puppy/plugins/antigravity_oauth/test_plugin.py,sha256=n0kjFG8Vt2n1j0GgTRSdSyhF0t9xxE8Ht60SH5CSwzw,11027
187
+ code_puppy/plugins/antigravity_oauth/token.py,sha256=WbiFCkrZvChpGXvwIYsJMgqU9xdJ81KwR062lFlnL3U,5038
188
+ code_puppy/plugins/antigravity_oauth/transport.py,sha256=Rs6E_Wkd_OCtgTJ2gzkapMWGoeQx7D8nF5AbY3QQMqE,36002
189
+ code_puppy/plugins/antigravity_oauth/utils.py,sha256=Oi8hQPqzb2R0_sd5pPHvgM2PfJaQL_pBRXTd5LcqvDM,5351
190
+ code_puppy/plugins/chatgpt_oauth/__init__.py,sha256=Kjc6Hsz1sWvMD2OdAlWZvJRiKJSj4fx22boa-aVFKjA,189
191
+ code_puppy/plugins/chatgpt_oauth/config.py,sha256=1_DKpgWhVJfjcc6I9mi9W-A69AZJNyMrLmK71058174,2029
192
+ code_puppy/plugins/chatgpt_oauth/oauth_flow.py,sha256=Onn-xTdlYIRX0oWQzf7baQ9X5HS2s7kesdGEf3TJDTg,11033
193
+ code_puppy/plugins/chatgpt_oauth/register_callbacks.py,sha256=CkXNSQxKGTKZDgERTWrU6vwoUBI-eEd35tY9lAXwiaU,5869
194
+ code_puppy/plugins/chatgpt_oauth/test_plugin.py,sha256=CSop5rLyI84APd6eznL9BEp1WnJlFpKdsMplIwgUrKA,9709
195
+ code_puppy/plugins/chatgpt_oauth/utils.py,sha256=E939JgRhxQaFGcrz7gsZydQWacFvX0CZ8rdGKQm3VHI,16839
196
+ code_puppy/plugins/claude_code_hooks/__init__.py,sha256=Xc6kgVSYAEllfZf4_ZsedPjRSWYqfykUaJN10gHfnyU,32
197
+ code_puppy/plugins/claude_code_hooks/config.py,sha256=0wkGzlMN_M-lihChXPx0xnerBIhAfkfCW5azh0ivewI,4939
198
+ code_puppy/plugins/claude_code_hooks/register_callbacks.py,sha256=fLJulDUfdtORxgQT2pN30iQvT4Dw7AqVadFJ4C51YWw,4647
199
+ code_puppy/plugins/claude_code_oauth/README.md,sha256=4fXqegTXG9KDuiak1D10lkgmdNW55RfGtEuvlKnAoGg,5506
200
+ code_puppy/plugins/claude_code_oauth/SETUP.md,sha256=z2Yo3Xp8S0WVffk9ql1hJPgGnBT5GCBbYJHHRS7Dwss,3272
201
+ code_puppy/plugins/claude_code_oauth/__init__.py,sha256=Kj2oPJ7SNMhS_APQ6WzJ2O40fq8OfCC5RpDfqjL2TYw,664
202
+ code_puppy/plugins/claude_code_oauth/config.py,sha256=ruLHih_JC6Kg78G7W19E0ozMoLgN65_XVqYeZtrn8xk,2098
203
+ code_puppy/plugins/claude_code_oauth/register_callbacks.py,sha256=0oYUNSAw1lJqYBoyDA6r_OmtVlvNsVXo1oPWo-FLcMw,15788
204
+ code_puppy/plugins/claude_code_oauth/test_plugin.py,sha256=_83ydOpAjreSorqkIV0oBAJ6PvgvXhENxcgaUtXf3qo,9291
205
+ code_puppy/plugins/claude_code_oauth/token_refresh_heartbeat.py,sha256=NzlWbgJNCHp2K-dkzjsGCNTO5pLxB5hzoGE36bir0iM,7867
206
+ code_puppy/plugins/claude_code_oauth/utils.py,sha256=_Sf5miubiuImAKN0979Z9gmvWZG4UfaR0x3iRD-u-Fg,20211
207
+ code_puppy/plugins/customizable_commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
+ code_puppy/plugins/customizable_commands/register_callbacks.py,sha256=0SgZxYQBSsIiikUEnwKlxYJsnAD905945SolZYS7nN0,5198
209
+ code_puppy/plugins/example_custom_command/README.md,sha256=WU2752mr5XtGgyt3VjwpKSzmucXtP5EqeASuj2KgPWc,8254
210
+ code_puppy/plugins/example_custom_command/register_callbacks.py,sha256=HEnWuVqXJGpBck5H6tIJ_GWz8My-Yy7uWntQx_xohXU,1427
211
+ code_puppy/plugins/file_permission_handler/__init__.py,sha256=yuR7qt2pTQ-E2DLf4aIy16cAiuaTKX6x1Zixs54PZFo,144
212
+ code_puppy/plugins/file_permission_handler/register_callbacks.py,sha256=MRgip3pzqiwK_ScvNFfyzhQQaIPOZGcUKxNpb2VUjpY,18241
213
+ code_puppy/plugins/frontend_emitter/__init__.py,sha256=HPZu5Zvy_UwTQ-nkrSEHU4xzIcW-ei8x7LOaWvLPEDw,666
214
+ code_puppy/plugins/frontend_emitter/emitter.py,sha256=GNcnoKLPAjrD_see82nuRutZEHxXwb2aUEKR4K8TJvQ,3787
215
+ code_puppy/plugins/frontend_emitter/register_callbacks.py,sha256=3j7Emn3VeWSJSN9ozZ_Z78ZU8JvN7yfJNQ4bSH2KGdE,7704
216
+ code_puppy/plugins/hook_creator/__init__.py,sha256=MqfAeMmxE4kYKG1Paief23JOwelylPldBoSf25CVgRw,22
217
+ code_puppy/plugins/hook_creator/register_callbacks.py,sha256=0CFKlgcYY4gQscUubIvHdj2Yl2pCLv_e9anPWr5BMaE,984
218
+ code_puppy/plugins/hook_manager/__init__.py,sha256=0GIj1OfzCc5MdqHE4UagKw1rASL-6aDTy8KKQGU3dHE,77
219
+ code_puppy/plugins/hook_manager/config.py,sha256=Nbn16DY3CbD6kSsAHzvwF6UHE4q7nBRvRfU4xDoYIcY,9045
220
+ code_puppy/plugins/hook_manager/hooks_menu.py,sha256=bd4ituyxRN0j0GEW94ai3_LB_PaaStbW1PO-m7wUFJw,19704
221
+ code_puppy/plugins/hook_manager/register_callbacks.py,sha256=cH1DgD-fp2GJG0DoNrDSBAyqCyXSyZbZpJ2P0--dXlE,8128
222
+ code_puppy/plugins/scheduler/__init__.py,sha256=sqVUE9UHZo4y6AXdNc0mEX94E9EqzjZDY2kquFEsdT0,73
223
+ code_puppy/plugins/scheduler/register_callbacks.py,sha256=pLJyHUJ29VazkRyqYYUFeOv8W87TtyIQHgAmI68mB6M,2794
224
+ code_puppy/plugins/scheduler/scheduler_menu.py,sha256=sR9ZZigKcnlcn56hbv-paiO3JXuyk4C_Sk3yprCNv38,17110
225
+ code_puppy/plugins/scheduler/scheduler_wizard.py,sha256=xie79-WxoaTsjwm1_6bjfBilRXv0qmBkq2YcS4y82_c,10553
226
+ code_puppy/plugins/shell_safety/__init__.py,sha256=B-RYLWKlvrws9XCHG1Z99mBMC3VC394HAlMOhhCoGGI,243
227
+ code_puppy/plugins/shell_safety/agent_shell_safety.py,sha256=5JutYlzzTzyFcbFujlNkV4NunVvD5QIpOSumjS3Fjc8,2408
228
+ code_puppy/plugins/shell_safety/command_cache.py,sha256=adYtSPNVOZfW_6dQdtEihO6E-JYXYrdvlS1Cl7xBkDU,4546
229
+ code_puppy/plugins/shell_safety/register_callbacks.py,sha256=W3v664RR48Fdbbbltf_NnX22_Ahw2AvAOtvXvWc7KxQ,7322
230
+ code_puppy/plugins/synthetic_status/__init__.py,sha256=NB0nLU3pFgJsedAg98md0JUvAilASApxT49nPBJrQwc,40
231
+ code_puppy/plugins/synthetic_status/register_callbacks.py,sha256=8-8olV_8BqQGdJI23wYzXJF_BRzMJ2YrwjKGzoUQUO8,3716
232
+ code_puppy/plugins/synthetic_status/status_api.py,sha256=_bUmZftYqCRz-3ae3KbKtD3MY7UDtozgzaEncTwn5cg,4313
233
+ code_puppy/plugins/universal_constructor/__init__.py,sha256=bXu_xpty8RPCZ4dMfuK82117Sk-8LnBe3IZ_vznUCI8,481
234
+ code_puppy/plugins/universal_constructor/models.py,sha256=jTrg3FKB4hI2UhXm73U5Cezn21UBDx9JglgpExvgj9U,5190
235
+ code_puppy/plugins/universal_constructor/register_callbacks.py,sha256=-EThPNJ4WhSJ0nPu4Y7dhMiQgNu1CydPSbXnMTfy2PY,1468
236
+ code_puppy/plugins/universal_constructor/registry.py,sha256=zODtD4yLnMtPfFes_GO1umnwIJMjeEbr2DxwEIZX190,9050
237
+ code_puppy/plugins/universal_constructor/sandbox.py,sha256=RDh1FUycyXc7ANUnmbrd3LXV97fLXXI-sHU62odGxvw,17279
238
+ code_puppy/prompts/antigravity_system_prompt.md,sha256=ZaTfRyY57ttROyZMmOBtqZQu1to7sdTNTv8_0fTgPNw,6807
239
+ code_puppy/scheduler/__init__.py,sha256=cnbkBmcC6GJJk0AqcfAvjQU3wmySG4SHNMownT9ZtlA,956
240
+ code_puppy/scheduler/__main__.py,sha256=RWPviPg3zW2aXmyR0VJ7j6p-Andy9Y-x_WvLQ8UEu1w,213
241
+ code_puppy/scheduler/cli.py,sha256=oVbKn-2rKVZ5yAsXEER0IJowrmFauu9rVTSsb5_dmpY,3540
242
+ code_puppy/scheduler/config.py,sha256=390WIuGPLEmbs3jcIdaAI67NL5mK2XFc-T0ROtBXLLU,3816
243
+ code_puppy/scheduler/daemon.py,sha256=na_eqkMIUk9jRPXReQoOUU9xU-axLNpeWSSIYFXP-1U,8175
244
+ code_puppy/scheduler/executor.py,sha256=ta5QUFwMGZFtX8whBSyMqpMbhuukJJ7jN8v_eiwJUOs,4534
245
+ code_puppy/scheduler/platform.py,sha256=xXYvieCU_tS1CcmdHUeNnsD4qnft_ijeDTWtWbDU4RQ,466
246
+ code_puppy/scheduler/platform_unix.py,sha256=CZNou_xOTB5m3uRQ7opy_A8y836-PQ-jC02pZizMk_I,527
247
+ code_puppy/scheduler/platform_win.py,sha256=H13l-MzVgkHn2KT6G97iluNTXb5r4DVT4ax-dKFykZY,891
248
+ code_puppy/tools/__init__.py,sha256=Dmk-bVTShVPVN3N5s3Xk_gHO0uYA55ivjTky2GLf_Uc,17886
249
+ code_puppy/tools/agent_tools.py,sha256=W0dmjC0eCR_Djo8L0jC_0i78pm6MvRlNTE1dubKif9U,22604
250
+ code_puppy/tools/command_runner.py,sha256=1Is-FIUiWToDPIKlY3hQzXptlpYYW54Eu6zn7flgOb8,46848
251
+ code_puppy/tools/common.py,sha256=o9qliuV3NX-97QFTZfHv9uC_tr2skyzQ7iQn7IbtyKM,40403
252
+ code_puppy/tools/display.py,sha256=-ulDyq55178f8O_TAEmnxGoy_ZdFkbHBw-W4ul851GM,2675
253
+ code_puppy/tools/file_modifications.py,sha256=eld9Ocqv_6cLt_DpgwFnaybiqzDFFocsv0SVFN8q958,25440
254
+ code_puppy/tools/file_operations.py,sha256=yc_E_Cpzi6hkdnfGgrkHgnNjkuyUTocKpdQdWUAVGYk,30121
255
+ code_puppy/tools/scheduler_tools.py,sha256=n31zLB6LwyVyES0Viy1MTpgXx6Y-fvR5LlQeYreF8wE,14599
256
+ code_puppy/tools/skills_tools.py,sha256=pxEFzyNrewhicX7zp__QUpWzjZLBb29McQjm5lx6h3g,8077
257
+ code_puppy/tools/subagent_context.py,sha256=zsiKV3B3DxZ_Y5IHHhtE-SMFDg_jMrY7Hi6r5LH--IU,4781
258
+ code_puppy/tools/tools_content.py,sha256=f_KJ4m2p9V_M_K6zsg6s3jlsx2_O3PVsnm0e49-2zsw,2175
259
+ code_puppy/tools/universal_constructor.py,sha256=eznWgHj37iWCwrhRbY9jbv0jCBT1_vTh9KNRg_WoBns,30730
260
+ code_puppy/tools/ask_user_question/__init__.py,sha256=oiGTfffSZAxmfRFS-siWPCT93wdG6UvKyLfBfUEEM70,646
261
+ code_puppy/tools/ask_user_question/constants.py,sha256=NKScodXB0jXuLuMHU4UK9TbF4zTtfijyquwvjDvPGCI,2381
262
+ code_puppy/tools/ask_user_question/demo_tui.py,sha256=DyiF6tXkrTkkpdnwEDLwmiyOSQJjQjZNf1jgXaxceew,1759
263
+ code_puppy/tools/ask_user_question/handler.py,sha256=UIvkdBziymeUHx5VR5a_KBwWhOVD-Pa916wCLPr9uzs,8231
264
+ code_puppy/tools/ask_user_question/models.py,sha256=yqWMJ_U401RIfE2BJk5tVgeY9fVYQgM7edRuk28dtRM,8603
265
+ code_puppy/tools/ask_user_question/registration.py,sha256=crCdZM8BWRS68G-MIhNd4rrFPVdUuYGGTmpKj2rfILU,1350
266
+ code_puppy/tools/ask_user_question/renderers.py,sha256=xztFmydLaYHE0ZBmRlqW54Duuob1nJnHZ3ODG2KRCPc,9894
267
+ code_puppy/tools/ask_user_question/terminal_ui.py,sha256=MmuYYxbn3thvt8y3ywwnqai0Dtw8vyOByGR2SfigoDg,12389
268
+ code_puppy/tools/ask_user_question/theme.py,sha256=jGFcYA5106HZgsIOM8pDaGYzCkCMuXRDvCoDU2f9-Ig,4153
269
+ code_puppy/tools/ask_user_question/tui_loop.py,sha256=ziL4gbA8ZBt8LxG5a4hcTDTvJ1oWpJeX0rJwHCmGJDk,14632
270
+ code_puppy/tools/browser/__init__.py,sha256=Mu6zvTQHdKcEh3ttwNgjiKtaKjVkNQ4ncpQ00mhjcE8,926
271
+ code_puppy/tools/browser/browser_control.py,sha256=qul611bbXteH3pBoN39AystbYr3ZXkCs9mbjobir5Io,8429
272
+ code_puppy/tools/browser/browser_interactions.py,sha256=toroY2hDVDaNN9g6UV-vJ5IA1htaf_Pk85Z7PXwpMm4,16774
273
+ code_puppy/tools/browser/browser_locators.py,sha256=--cYu5pi1nvVh673fFCV2GSOJ5XuAUHvyPpPJREOx7s,19176
274
+ code_puppy/tools/browser/browser_manager.py,sha256=r6PVqdbgPp8hsMdsNJZ1chC1enk2QcqsP4OtzGtWA4o,12846
275
+ code_puppy/tools/browser/browser_navigation.py,sha256=MbfIL6UNs79ImbCli1854_ftwqLke37jhwQzfcA0Zag,7415
276
+ code_puppy/tools/browser/browser_screenshot.py,sha256=YT35iJc9SfFI8PiIfskyehDFpk1YfJ1K6lFwrzRwkH8,6281
277
+ code_puppy/tools/browser/browser_scripts.py,sha256=swQLuD61mwE3uFghOZmSSJXggg5ZIPKHqKu-KvdY49Y,14778
278
+ code_puppy/tools/browser/browser_workflows.py,sha256=nitW42vCf0ieTX1gLabozTugNQ8phtoFzZbiAhw1V90,6491
279
+ code_puppy/tools/browser/chromium_terminal_manager.py,sha256=w1thQ_ACb6oV45L93TSqPQD0o0cTh3FqT5I9zcOOWlM,8226
280
+ code_puppy/tools/browser/terminal_command_tools.py,sha256=Mv5mYC6rpC1m1wJNYHZeLrEcgU7V9DFKYmoO5unX5rs,19656
281
+ code_puppy/tools/browser/terminal_screenshot_tools.py,sha256=Q_fDc2VkWuZiNErak3eC5UDjsbr9ODKLUCtjsIcl97U,18327
282
+ code_puppy/tools/browser/terminal_tools.py,sha256=Jwv1hfZhxyeRXwY2-Y2EUHULSlVYpv5AdbRyFiMjoSg,17754
283
+ newcode-0.1.1.data/data/code_puppy/models.json,sha256=BoWCrPes3diXIBrUR6CNfybGOy9QysP1p99ReOcmirI,4002
284
+ newcode-0.1.1.data/data/code_puppy/models_dev_api.json,sha256=wHjkj-IM_fx1oHki6-GqtOoCrRMR0ScK0f-Iz0UEcy8,548187
285
+ newcode-0.1.1.dist-info/METADATA,sha256=3PCsj7AhD1i6AYO8jkTmKIUDVQEICoj6Zc534kpaiRw,5256
286
+ newcode-0.1.1.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
287
+ newcode-0.1.1.dist-info/entry_points.txt,sha256=lJcqPpX8ZPvIWnVupvU4yU9dYnNc7bQoZtxsBO5RVhM,87
288
+ newcode-0.1.1.dist-info/licenses/LICENSE,sha256=31u8x0SPgdOq3izJX41kgFazWsM43zPEF9eskzqbJMY,1075
289
+ newcode-0.1.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.29.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ nc = code_puppy.main:main_entry
3
+ newcode = code_puppy.main:main_entry
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Mike Pfaffenberger
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.