gemcode 0.3.9__tar.gz → 0.3.10__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.
- {gemcode-0.3.9/src/gemcode.egg-info → gemcode-0.3.10}/PKG-INFO +1 -1
- {gemcode-0.3.9 → gemcode-0.3.10}/pyproject.toml +1 -1
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tui/app.py +10 -2
- {gemcode-0.3.9 → gemcode-0.3.10/src/gemcode.egg-info}/PKG-INFO +1 -1
- {gemcode-0.3.9 → gemcode-0.3.10}/LICENSE +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/MANIFEST.in +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/README.md +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/setup.cfg +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/__init__.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/__main__.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/agent.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/audit.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/autocompact.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/callbacks.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/capability_routing.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/cli.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/compaction.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/computer_use/__init__.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/computer_use/browser_computer.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/config.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/context_budget.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/context_warning.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/credentials.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/hitl_session.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/interactions.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/invoke.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/kairos_daemon.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/limits.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/live_audio_engine.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/logging_config.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/mcp_loader.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/memory/__init__.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/memory/embedding_memory_service.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/memory/file_memory_service.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/modality_tools.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/model_errors.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/model_routing.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/paths.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/permissions.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/plugins/__init__.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/plugins/terminal_hooks_plugin.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/plugins/tool_recovery_plugin.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/prompt_suggestions.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/__init__.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/config.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/deps.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/engine.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/stop_hooks.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/token_budget.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/transitions.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/repl_commands.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/repl_slash.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/session_runtime.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/slash_commands.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/thinking.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tool_prompt_manifest.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tool_registry.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/__init__.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/edit.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/filesystem.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/search.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/shell.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/shell_gate.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/todo.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools_inspector.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/trust.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tui/scrollback.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/version.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/vertex.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/web/__init__.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/web/claude_sse_adapter.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/web/terminal_repl.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/workspace_hints.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/SOURCES.txt +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/dependency_links.txt +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/entry_points.txt +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/requires.txt +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/top_level.txt +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_agent_instruction.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_autocompact.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_capability_routing.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_claude_web_adapter_sse.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_cli_init.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_computer_use_permissions.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_context_budget.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_context_warning.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_credentials.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_interactive_permission_ask.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_kairos_scheduler.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_modality_tools.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_model_error_retry.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_model_errors.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_model_routing.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_paths.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_permissions.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_prompt_suggestions.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_repl_commands.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_repl_slash.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_slash_commands.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_thinking_config.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_token_budget.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_tool_context_circulation.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_tools.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_tools_inspector.py +0 -0
- {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_workspace_hints.py +0 -0
|
@@ -665,6 +665,11 @@ async def run_gemcode_tui(
|
|
|
665
665
|
# into a separate buffer.
|
|
666
666
|
buffered_thought: list[str] = []
|
|
667
667
|
buffered_final: list[str] = []
|
|
668
|
+
# Show Claude-like "thinking" section immediately.
|
|
669
|
+
# We fill the thought content at the end of the pass (and can omit
|
|
670
|
+
# identical-thought/final cases), but the label itself should appear
|
|
671
|
+
# right away so there's a visible loading cue.
|
|
672
|
+
append_inline("⎿ GemCode (thinking): ")
|
|
668
673
|
kwargs = dict(
|
|
669
674
|
user_id="local",
|
|
670
675
|
session_id=session_state["id"],
|
|
@@ -716,14 +721,15 @@ async def run_gemcode_tui(
|
|
|
716
721
|
# If Gemini returns the same content for both "thought" and
|
|
717
722
|
# final text, don't repeat it (Claude typically doesn't).
|
|
718
723
|
if buffered_final and _normalize_ws(thought_text) == _normalize_ws(final_text):
|
|
719
|
-
append_inline("⎿ GemCode (thinking): ")
|
|
720
724
|
await typewrite("(omitted: identical to final response)")
|
|
721
725
|
append("")
|
|
722
726
|
else:
|
|
723
|
-
append_inline("⎿ GemCode (thinking): ")
|
|
724
727
|
await typewrite(thought_text)
|
|
725
728
|
# Ensure visual separation before the final response section.
|
|
726
729
|
append("")
|
|
730
|
+
else:
|
|
731
|
+
await typewrite("(no thinking output)")
|
|
732
|
+
append("")
|
|
727
733
|
if buffered_final:
|
|
728
734
|
append_inline("⎿ GemCode: ")
|
|
729
735
|
await typewrite("".join(buffered_final))
|
|
@@ -731,6 +737,8 @@ async def run_gemcode_tui(
|
|
|
731
737
|
|
|
732
738
|
interactive_enabled = bool(getattr(cfg, "interactive_permission_ask", False))
|
|
733
739
|
parts: list[types.Part] = []
|
|
740
|
+
await typewrite("(thinking paused — tool confirmation requested)")
|
|
741
|
+
append("") # newline after paused thinking label
|
|
734
742
|
for fc in confirmation_fcs:
|
|
735
743
|
tool_name, hint = _extract_tool_and_hint(fc)
|
|
736
744
|
if interactive_enabled:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|