code-puppy 0.0.169__py3-none-any.whl → 0.0.366__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.
- code_puppy/__init__.py +7 -1
- code_puppy/agents/__init__.py +8 -8
- code_puppy/agents/agent_c_reviewer.py +155 -0
- code_puppy/agents/agent_code_puppy.py +9 -2
- code_puppy/agents/agent_code_reviewer.py +90 -0
- code_puppy/agents/agent_cpp_reviewer.py +132 -0
- code_puppy/agents/agent_creator_agent.py +48 -9
- code_puppy/agents/agent_golang_reviewer.py +151 -0
- code_puppy/agents/agent_javascript_reviewer.py +160 -0
- code_puppy/agents/agent_manager.py +146 -199
- code_puppy/agents/agent_pack_leader.py +383 -0
- code_puppy/agents/agent_planning.py +163 -0
- code_puppy/agents/agent_python_programmer.py +165 -0
- code_puppy/agents/agent_python_reviewer.py +90 -0
- code_puppy/agents/agent_qa_expert.py +163 -0
- code_puppy/agents/agent_qa_kitten.py +208 -0
- code_puppy/agents/agent_security_auditor.py +181 -0
- code_puppy/agents/agent_terminal_qa.py +323 -0
- code_puppy/agents/agent_typescript_reviewer.py +166 -0
- code_puppy/agents/base_agent.py +1713 -1
- code_puppy/agents/event_stream_handler.py +350 -0
- code_puppy/agents/json_agent.py +12 -1
- code_puppy/agents/pack/__init__.py +34 -0
- code_puppy/agents/pack/bloodhound.py +304 -0
- code_puppy/agents/pack/husky.py +321 -0
- code_puppy/agents/pack/retriever.py +393 -0
- code_puppy/agents/pack/shepherd.py +348 -0
- code_puppy/agents/pack/terrier.py +287 -0
- code_puppy/agents/pack/watchdog.py +367 -0
- code_puppy/agents/prompt_reviewer.py +145 -0
- code_puppy/agents/subagent_stream_handler.py +276 -0
- code_puppy/api/__init__.py +13 -0
- code_puppy/api/app.py +169 -0
- code_puppy/api/main.py +21 -0
- code_puppy/api/pty_manager.py +446 -0
- code_puppy/api/routers/__init__.py +12 -0
- code_puppy/api/routers/agents.py +36 -0
- code_puppy/api/routers/commands.py +217 -0
- code_puppy/api/routers/config.py +74 -0
- code_puppy/api/routers/sessions.py +232 -0
- code_puppy/api/templates/terminal.html +361 -0
- code_puppy/api/websocket.py +154 -0
- code_puppy/callbacks.py +174 -4
- code_puppy/chatgpt_codex_client.py +283 -0
- code_puppy/claude_cache_client.py +586 -0
- code_puppy/cli_runner.py +916 -0
- code_puppy/command_line/add_model_menu.py +1079 -0
- code_puppy/command_line/agent_menu.py +395 -0
- code_puppy/command_line/attachments.py +395 -0
- code_puppy/command_line/autosave_menu.py +605 -0
- code_puppy/command_line/clipboard.py +527 -0
- code_puppy/command_line/colors_menu.py +520 -0
- code_puppy/command_line/command_handler.py +233 -627
- code_puppy/command_line/command_registry.py +150 -0
- code_puppy/command_line/config_commands.py +715 -0
- code_puppy/command_line/core_commands.py +792 -0
- code_puppy/command_line/diff_menu.py +863 -0
- code_puppy/command_line/load_context_completion.py +15 -22
- code_puppy/command_line/mcp/base.py +1 -4
- code_puppy/command_line/mcp/catalog_server_installer.py +175 -0
- code_puppy/command_line/mcp/custom_server_form.py +688 -0
- code_puppy/command_line/mcp/custom_server_installer.py +195 -0
- code_puppy/command_line/mcp/edit_command.py +148 -0
- code_puppy/command_line/mcp/handler.py +9 -4
- code_puppy/command_line/mcp/help_command.py +6 -5
- code_puppy/command_line/mcp/install_command.py +16 -27
- code_puppy/command_line/mcp/install_menu.py +685 -0
- code_puppy/command_line/mcp/list_command.py +3 -3
- code_puppy/command_line/mcp/logs_command.py +174 -65
- code_puppy/command_line/mcp/remove_command.py +2 -2
- code_puppy/command_line/mcp/restart_command.py +12 -4
- code_puppy/command_line/mcp/search_command.py +17 -11
- code_puppy/command_line/mcp/start_all_command.py +22 -13
- code_puppy/command_line/mcp/start_command.py +50 -31
- code_puppy/command_line/mcp/status_command.py +6 -7
- code_puppy/command_line/mcp/stop_all_command.py +11 -8
- code_puppy/command_line/mcp/stop_command.py +11 -10
- code_puppy/command_line/mcp/test_command.py +2 -2
- code_puppy/command_line/mcp/utils.py +1 -1
- code_puppy/command_line/mcp/wizard_utils.py +22 -18
- code_puppy/command_line/mcp_completion.py +174 -0
- code_puppy/command_line/model_picker_completion.py +89 -30
- code_puppy/command_line/model_settings_menu.py +884 -0
- code_puppy/command_line/motd.py +14 -8
- code_puppy/command_line/onboarding_slides.py +179 -0
- code_puppy/command_line/onboarding_wizard.py +340 -0
- code_puppy/command_line/pin_command_completion.py +329 -0
- code_puppy/command_line/prompt_toolkit_completion.py +626 -75
- code_puppy/command_line/session_commands.py +296 -0
- code_puppy/command_line/utils.py +54 -0
- code_puppy/config.py +1181 -51
- code_puppy/error_logging.py +118 -0
- code_puppy/gemini_code_assist.py +385 -0
- code_puppy/gemini_model.py +602 -0
- code_puppy/http_utils.py +220 -104
- code_puppy/keymap.py +128 -0
- code_puppy/main.py +5 -594
- code_puppy/{mcp → mcp_}/__init__.py +17 -0
- code_puppy/{mcp → mcp_}/async_lifecycle.py +35 -4
- code_puppy/{mcp → mcp_}/blocking_startup.py +70 -43
- code_puppy/{mcp → mcp_}/captured_stdio_server.py +2 -2
- code_puppy/{mcp → mcp_}/config_wizard.py +5 -5
- code_puppy/{mcp → mcp_}/dashboard.py +15 -6
- code_puppy/{mcp → mcp_}/examples/retry_example.py +4 -1
- code_puppy/{mcp → mcp_}/managed_server.py +66 -39
- code_puppy/{mcp → mcp_}/manager.py +146 -52
- code_puppy/mcp_/mcp_logs.py +224 -0
- code_puppy/{mcp → mcp_}/registry.py +6 -6
- code_puppy/{mcp → mcp_}/server_registry_catalog.py +25 -8
- code_puppy/messaging/__init__.py +199 -2
- code_puppy/messaging/bus.py +610 -0
- code_puppy/messaging/commands.py +167 -0
- code_puppy/messaging/markdown_patches.py +57 -0
- code_puppy/messaging/message_queue.py +17 -48
- code_puppy/messaging/messages.py +500 -0
- code_puppy/messaging/queue_console.py +1 -24
- code_puppy/messaging/renderers.py +43 -146
- code_puppy/messaging/rich_renderer.py +1027 -0
- code_puppy/messaging/spinner/__init__.py +33 -5
- code_puppy/messaging/spinner/console_spinner.py +92 -52
- code_puppy/messaging/spinner/spinner_base.py +29 -0
- code_puppy/messaging/subagent_console.py +461 -0
- code_puppy/model_factory.py +686 -80
- code_puppy/model_utils.py +167 -0
- code_puppy/models.json +86 -104
- code_puppy/models_dev_api.json +1 -0
- code_puppy/models_dev_parser.py +592 -0
- code_puppy/plugins/__init__.py +164 -10
- code_puppy/plugins/antigravity_oauth/__init__.py +10 -0
- code_puppy/plugins/antigravity_oauth/accounts.py +406 -0
- code_puppy/plugins/antigravity_oauth/antigravity_model.py +704 -0
- code_puppy/plugins/antigravity_oauth/config.py +42 -0
- code_puppy/plugins/antigravity_oauth/constants.py +136 -0
- code_puppy/plugins/antigravity_oauth/oauth.py +478 -0
- code_puppy/plugins/antigravity_oauth/register_callbacks.py +406 -0
- code_puppy/plugins/antigravity_oauth/storage.py +271 -0
- code_puppy/plugins/antigravity_oauth/test_plugin.py +319 -0
- code_puppy/plugins/antigravity_oauth/token.py +167 -0
- code_puppy/plugins/antigravity_oauth/transport.py +767 -0
- code_puppy/plugins/antigravity_oauth/utils.py +169 -0
- code_puppy/plugins/chatgpt_oauth/__init__.py +8 -0
- code_puppy/plugins/chatgpt_oauth/config.py +52 -0
- code_puppy/plugins/chatgpt_oauth/oauth_flow.py +328 -0
- code_puppy/plugins/chatgpt_oauth/register_callbacks.py +94 -0
- code_puppy/plugins/chatgpt_oauth/test_plugin.py +293 -0
- code_puppy/plugins/chatgpt_oauth/utils.py +489 -0
- code_puppy/plugins/claude_code_oauth/README.md +167 -0
- code_puppy/plugins/claude_code_oauth/SETUP.md +93 -0
- code_puppy/plugins/claude_code_oauth/__init__.py +6 -0
- code_puppy/plugins/claude_code_oauth/config.py +50 -0
- code_puppy/plugins/claude_code_oauth/register_callbacks.py +308 -0
- code_puppy/plugins/claude_code_oauth/test_plugin.py +283 -0
- code_puppy/plugins/claude_code_oauth/utils.py +518 -0
- code_puppy/plugins/customizable_commands/__init__.py +0 -0
- code_puppy/plugins/customizable_commands/register_callbacks.py +169 -0
- code_puppy/plugins/example_custom_command/README.md +280 -0
- code_puppy/plugins/example_custom_command/register_callbacks.py +51 -0
- code_puppy/plugins/file_permission_handler/__init__.py +4 -0
- code_puppy/plugins/file_permission_handler/register_callbacks.py +523 -0
- code_puppy/plugins/frontend_emitter/__init__.py +25 -0
- code_puppy/plugins/frontend_emitter/emitter.py +121 -0
- code_puppy/plugins/frontend_emitter/register_callbacks.py +261 -0
- code_puppy/plugins/oauth_puppy_html.py +228 -0
- code_puppy/plugins/shell_safety/__init__.py +6 -0
- code_puppy/plugins/shell_safety/agent_shell_safety.py +69 -0
- code_puppy/plugins/shell_safety/command_cache.py +156 -0
- code_puppy/plugins/shell_safety/register_callbacks.py +202 -0
- code_puppy/prompts/antigravity_system_prompt.md +1 -0
- code_puppy/prompts/codex_system_prompt.md +310 -0
- code_puppy/pydantic_patches.py +131 -0
- code_puppy/reopenable_async_client.py +8 -8
- code_puppy/round_robin_model.py +10 -15
- code_puppy/session_storage.py +294 -0
- code_puppy/status_display.py +21 -4
- code_puppy/summarization_agent.py +52 -14
- code_puppy/terminal_utils.py +418 -0
- code_puppy/tools/__init__.py +139 -6
- code_puppy/tools/agent_tools.py +548 -49
- code_puppy/tools/browser/__init__.py +37 -0
- code_puppy/tools/browser/browser_control.py +289 -0
- code_puppy/tools/browser/browser_interactions.py +545 -0
- code_puppy/tools/browser/browser_locators.py +640 -0
- code_puppy/tools/browser/browser_manager.py +316 -0
- code_puppy/tools/browser/browser_navigation.py +251 -0
- code_puppy/tools/browser/browser_screenshot.py +179 -0
- code_puppy/tools/browser/browser_scripts.py +462 -0
- code_puppy/tools/browser/browser_workflows.py +221 -0
- code_puppy/tools/browser/chromium_terminal_manager.py +259 -0
- code_puppy/tools/browser/terminal_command_tools.py +521 -0
- code_puppy/tools/browser/terminal_screenshot_tools.py +556 -0
- code_puppy/tools/browser/terminal_tools.py +525 -0
- code_puppy/tools/command_runner.py +941 -153
- code_puppy/tools/common.py +1146 -6
- code_puppy/tools/display.py +84 -0
- code_puppy/tools/file_modifications.py +288 -89
- code_puppy/tools/file_operations.py +352 -266
- code_puppy/tools/subagent_context.py +158 -0
- code_puppy/uvx_detection.py +242 -0
- code_puppy/version_checker.py +30 -11
- code_puppy-0.0.366.data/data/code_puppy/models.json +110 -0
- code_puppy-0.0.366.data/data/code_puppy/models_dev_api.json +1 -0
- {code_puppy-0.0.169.dist-info → code_puppy-0.0.366.dist-info}/METADATA +184 -67
- code_puppy-0.0.366.dist-info/RECORD +217 -0
- {code_puppy-0.0.169.dist-info → code_puppy-0.0.366.dist-info}/WHEEL +1 -1
- {code_puppy-0.0.169.dist-info → code_puppy-0.0.366.dist-info}/entry_points.txt +1 -0
- code_puppy/agent.py +0 -231
- code_puppy/agents/agent_orchestrator.json +0 -26
- code_puppy/agents/runtime_manager.py +0 -272
- code_puppy/command_line/mcp/add_command.py +0 -183
- code_puppy/command_line/meta_command_handler.py +0 -153
- code_puppy/message_history_processor.py +0 -490
- code_puppy/messaging/spinner/textual_spinner.py +0 -101
- code_puppy/state_management.py +0 -200
- code_puppy/tui/__init__.py +0 -10
- code_puppy/tui/app.py +0 -986
- code_puppy/tui/components/__init__.py +0 -21
- code_puppy/tui/components/chat_view.py +0 -550
- code_puppy/tui/components/command_history_modal.py +0 -218
- code_puppy/tui/components/copy_button.py +0 -139
- code_puppy/tui/components/custom_widgets.py +0 -63
- code_puppy/tui/components/human_input_modal.py +0 -175
- code_puppy/tui/components/input_area.py +0 -167
- code_puppy/tui/components/sidebar.py +0 -309
- code_puppy/tui/components/status_bar.py +0 -182
- code_puppy/tui/messages.py +0 -27
- code_puppy/tui/models/__init__.py +0 -8
- code_puppy/tui/models/chat_message.py +0 -25
- code_puppy/tui/models/command_history.py +0 -89
- code_puppy/tui/models/enums.py +0 -24
- code_puppy/tui/screens/__init__.py +0 -15
- code_puppy/tui/screens/help.py +0 -130
- code_puppy/tui/screens/mcp_install_wizard.py +0 -803
- code_puppy/tui/screens/settings.py +0 -290
- code_puppy/tui/screens/tools.py +0 -74
- code_puppy-0.0.169.data/data/code_puppy/models.json +0 -128
- code_puppy-0.0.169.dist-info/RECORD +0 -112
- /code_puppy/{mcp → mcp_}/circuit_breaker.py +0 -0
- /code_puppy/{mcp → mcp_}/error_isolation.py +0 -0
- /code_puppy/{mcp → mcp_}/health_monitor.py +0 -0
- /code_puppy/{mcp → mcp_}/retry_manager.py +0 -0
- /code_puppy/{mcp → mcp_}/status_tracker.py +0 -0
- /code_puppy/{mcp → mcp_}/system_tools.py +0 -0
- {code_puppy-0.0.169.dist-info → code_puppy-0.0.366.dist-info}/licenses/LICENSE +0 -0
code_puppy/state_management.py
DELETED
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
from typing import Any, List
|
|
2
|
-
|
|
3
|
-
# Legacy global state - maintained for backward compatibility
|
|
4
|
-
_message_history: List[Any] = []
|
|
5
|
-
_compacted_message_hashes = set()
|
|
6
|
-
|
|
7
|
-
# Flag to control whether to use agent-specific history (True) or global history (False)
|
|
8
|
-
_use_agent_specific_history = True
|
|
9
|
-
_tui_mode: bool = False
|
|
10
|
-
_tui_app_instance: Any = None
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def add_compacted_message_hash(message_hash: str) -> None:
|
|
14
|
-
"""Add a message hash to the set of compacted message hashes."""
|
|
15
|
-
if _use_agent_specific_history:
|
|
16
|
-
try:
|
|
17
|
-
from code_puppy.agents.agent_manager import (
|
|
18
|
-
add_current_agent_compacted_message_hash,
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
add_current_agent_compacted_message_hash(message_hash)
|
|
22
|
-
return
|
|
23
|
-
except Exception:
|
|
24
|
-
# Fallback to global if agent system fails
|
|
25
|
-
pass
|
|
26
|
-
_compacted_message_hashes.add(message_hash)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def get_compacted_message_hashes():
|
|
30
|
-
"""Get the set of compacted message hashes."""
|
|
31
|
-
if _use_agent_specific_history:
|
|
32
|
-
try:
|
|
33
|
-
from code_puppy.agents.agent_manager import (
|
|
34
|
-
get_current_agent_compacted_message_hashes,
|
|
35
|
-
)
|
|
36
|
-
|
|
37
|
-
return get_current_agent_compacted_message_hashes()
|
|
38
|
-
except Exception:
|
|
39
|
-
# Fallback to global if agent system fails
|
|
40
|
-
pass
|
|
41
|
-
return _compacted_message_hashes
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def set_tui_mode(enabled: bool) -> None:
|
|
45
|
-
"""Set the global TUI mode state.
|
|
46
|
-
|
|
47
|
-
Args:
|
|
48
|
-
enabled: True if running in TUI mode, False otherwise
|
|
49
|
-
"""
|
|
50
|
-
global _tui_mode
|
|
51
|
-
_tui_mode = enabled
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
def is_tui_mode() -> bool:
|
|
55
|
-
"""Check if the application is running in TUI mode.
|
|
56
|
-
|
|
57
|
-
Returns:
|
|
58
|
-
True if running in TUI mode, False otherwise
|
|
59
|
-
"""
|
|
60
|
-
return _tui_mode
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
def set_tui_app_instance(app_instance: Any) -> None:
|
|
64
|
-
"""Set the global TUI app instance reference.
|
|
65
|
-
|
|
66
|
-
Args:
|
|
67
|
-
app_instance: The TUI app instance
|
|
68
|
-
"""
|
|
69
|
-
global _tui_app_instance
|
|
70
|
-
_tui_app_instance = app_instance
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
def get_tui_app_instance() -> Any:
|
|
74
|
-
"""Get the current TUI app instance.
|
|
75
|
-
|
|
76
|
-
Returns:
|
|
77
|
-
The TUI app instance if available, None otherwise
|
|
78
|
-
"""
|
|
79
|
-
return _tui_app_instance
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
def get_tui_mode() -> bool:
|
|
83
|
-
"""Get the current TUI mode state.
|
|
84
|
-
|
|
85
|
-
Returns:
|
|
86
|
-
True if running in TUI mode, False otherwise
|
|
87
|
-
"""
|
|
88
|
-
return _tui_mode
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
def get_message_history() -> List[Any]:
|
|
92
|
-
"""Get message history - uses agent-specific history if enabled, otherwise global."""
|
|
93
|
-
if _use_agent_specific_history:
|
|
94
|
-
try:
|
|
95
|
-
from code_puppy.agents.agent_manager import (
|
|
96
|
-
get_current_agent_message_history,
|
|
97
|
-
)
|
|
98
|
-
|
|
99
|
-
return get_current_agent_message_history()
|
|
100
|
-
except Exception:
|
|
101
|
-
# Fallback to global if agent system fails
|
|
102
|
-
return _message_history
|
|
103
|
-
return _message_history
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
def set_message_history(history: List[Any]) -> None:
|
|
107
|
-
"""Set message history - uses agent-specific history if enabled, otherwise global."""
|
|
108
|
-
if _use_agent_specific_history:
|
|
109
|
-
try:
|
|
110
|
-
from code_puppy.agents.agent_manager import (
|
|
111
|
-
set_current_agent_message_history,
|
|
112
|
-
)
|
|
113
|
-
|
|
114
|
-
set_current_agent_message_history(history)
|
|
115
|
-
return
|
|
116
|
-
except Exception:
|
|
117
|
-
# Fallback to global if agent system fails
|
|
118
|
-
pass
|
|
119
|
-
global _message_history
|
|
120
|
-
_message_history = history
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
def clear_message_history() -> None:
|
|
124
|
-
"""Clear message history - uses agent-specific history if enabled, otherwise global."""
|
|
125
|
-
if _use_agent_specific_history:
|
|
126
|
-
try:
|
|
127
|
-
from code_puppy.agents.agent_manager import (
|
|
128
|
-
clear_current_agent_message_history,
|
|
129
|
-
)
|
|
130
|
-
|
|
131
|
-
clear_current_agent_message_history()
|
|
132
|
-
return
|
|
133
|
-
except Exception:
|
|
134
|
-
# Fallback to global if agent system fails
|
|
135
|
-
pass
|
|
136
|
-
global _message_history
|
|
137
|
-
_message_history = []
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
def append_to_message_history(message: Any) -> None:
|
|
141
|
-
"""Append to message history - uses agent-specific history if enabled, otherwise global."""
|
|
142
|
-
if _use_agent_specific_history:
|
|
143
|
-
try:
|
|
144
|
-
from code_puppy.agents.agent_manager import (
|
|
145
|
-
append_to_current_agent_message_history,
|
|
146
|
-
)
|
|
147
|
-
|
|
148
|
-
append_to_current_agent_message_history(message)
|
|
149
|
-
return
|
|
150
|
-
except Exception:
|
|
151
|
-
# Fallback to global if agent system fails
|
|
152
|
-
pass
|
|
153
|
-
_message_history.append(message)
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
def extend_message_history(history: List[Any]) -> None:
|
|
157
|
-
"""Extend message history - uses agent-specific history if enabled, otherwise global."""
|
|
158
|
-
if _use_agent_specific_history:
|
|
159
|
-
try:
|
|
160
|
-
from code_puppy.agents.agent_manager import (
|
|
161
|
-
extend_current_agent_message_history,
|
|
162
|
-
)
|
|
163
|
-
|
|
164
|
-
extend_current_agent_message_history(history)
|
|
165
|
-
return
|
|
166
|
-
except Exception:
|
|
167
|
-
# Fallback to global if agent system fails
|
|
168
|
-
pass
|
|
169
|
-
_message_history.extend(history)
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
def set_use_agent_specific_history(enabled: bool) -> None:
|
|
173
|
-
"""Enable or disable agent-specific message history.
|
|
174
|
-
|
|
175
|
-
Args:
|
|
176
|
-
enabled: True to use per-agent history, False to use global history.
|
|
177
|
-
"""
|
|
178
|
-
global _use_agent_specific_history
|
|
179
|
-
_use_agent_specific_history = enabled
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
def is_using_agent_specific_history() -> bool:
|
|
183
|
-
"""Check if agent-specific message history is enabled.
|
|
184
|
-
|
|
185
|
-
Returns:
|
|
186
|
-
True if using per-agent history, False if using global history.
|
|
187
|
-
"""
|
|
188
|
-
return _use_agent_specific_history
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
def hash_message(message):
|
|
192
|
-
hashable_entities = []
|
|
193
|
-
for part in message.parts:
|
|
194
|
-
if hasattr(part, "timestamp"):
|
|
195
|
-
hashable_entities.append(part.timestamp.isoformat())
|
|
196
|
-
elif hasattr(part, "tool_call_id"):
|
|
197
|
-
hashable_entities.append(part.tool_call_id)
|
|
198
|
-
else:
|
|
199
|
-
hashable_entities.append(part.content)
|
|
200
|
-
return hash(",".join(hashable_entities))
|
code_puppy/tui/__init__.py
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Code Puppy TUI package.
|
|
3
|
-
|
|
4
|
-
This package provides a modern Text User Interface for Code Puppy using the Textual framework.
|
|
5
|
-
It maintains compatibility with existing functionality while providing an enhanced user experience.
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
from .app import CodePuppyTUI, run_textual_ui
|
|
9
|
-
|
|
10
|
-
__all__ = ["CodePuppyTUI", "run_textual_ui"]
|