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.
Files changed (105) hide show
  1. {gemcode-0.3.9/src/gemcode.egg-info → gemcode-0.3.10}/PKG-INFO +1 -1
  2. {gemcode-0.3.9 → gemcode-0.3.10}/pyproject.toml +1 -1
  3. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tui/app.py +10 -2
  4. {gemcode-0.3.9 → gemcode-0.3.10/src/gemcode.egg-info}/PKG-INFO +1 -1
  5. {gemcode-0.3.9 → gemcode-0.3.10}/LICENSE +0 -0
  6. {gemcode-0.3.9 → gemcode-0.3.10}/MANIFEST.in +0 -0
  7. {gemcode-0.3.9 → gemcode-0.3.10}/README.md +0 -0
  8. {gemcode-0.3.9 → gemcode-0.3.10}/setup.cfg +0 -0
  9. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/__init__.py +0 -0
  10. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/__main__.py +0 -0
  11. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/agent.py +0 -0
  12. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/audit.py +0 -0
  13. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/autocompact.py +0 -0
  14. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/callbacks.py +0 -0
  15. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/capability_routing.py +0 -0
  16. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/cli.py +0 -0
  17. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/compaction.py +0 -0
  18. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/computer_use/__init__.py +0 -0
  19. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/computer_use/browser_computer.py +0 -0
  20. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/config.py +0 -0
  21. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/context_budget.py +0 -0
  22. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/context_warning.py +0 -0
  23. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/credentials.py +0 -0
  24. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/hitl_session.py +0 -0
  25. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/interactions.py +0 -0
  26. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/invoke.py +0 -0
  27. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/kairos_daemon.py +0 -0
  28. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/limits.py +0 -0
  29. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/live_audio_engine.py +0 -0
  30. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/logging_config.py +0 -0
  31. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/mcp_loader.py +0 -0
  32. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/memory/__init__.py +0 -0
  33. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/memory/embedding_memory_service.py +0 -0
  34. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/memory/file_memory_service.py +0 -0
  35. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/modality_tools.py +0 -0
  36. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/model_errors.py +0 -0
  37. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/model_routing.py +0 -0
  38. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/paths.py +0 -0
  39. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/permissions.py +0 -0
  40. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/plugins/__init__.py +0 -0
  41. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/plugins/terminal_hooks_plugin.py +0 -0
  42. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/plugins/tool_recovery_plugin.py +0 -0
  43. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/prompt_suggestions.py +0 -0
  44. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/__init__.py +0 -0
  45. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/config.py +0 -0
  46. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/deps.py +0 -0
  47. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/engine.py +0 -0
  48. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/stop_hooks.py +0 -0
  49. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/token_budget.py +0 -0
  50. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/query/transitions.py +0 -0
  51. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/repl_commands.py +0 -0
  52. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/repl_slash.py +0 -0
  53. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/session_runtime.py +0 -0
  54. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/slash_commands.py +0 -0
  55. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/thinking.py +0 -0
  56. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tool_prompt_manifest.py +0 -0
  57. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tool_registry.py +0 -0
  58. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/__init__.py +0 -0
  59. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/edit.py +0 -0
  60. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/filesystem.py +0 -0
  61. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/search.py +0 -0
  62. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/shell.py +0 -0
  63. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/shell_gate.py +0 -0
  64. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools/todo.py +0 -0
  65. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tools_inspector.py +0 -0
  66. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/trust.py +0 -0
  67. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/tui/scrollback.py +0 -0
  68. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/version.py +0 -0
  69. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/vertex.py +0 -0
  70. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/web/__init__.py +0 -0
  71. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/web/claude_sse_adapter.py +0 -0
  72. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/web/terminal_repl.py +0 -0
  73. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode/workspace_hints.py +0 -0
  74. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/SOURCES.txt +0 -0
  75. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/dependency_links.txt +0 -0
  76. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/entry_points.txt +0 -0
  77. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/requires.txt +0 -0
  78. {gemcode-0.3.9 → gemcode-0.3.10}/src/gemcode.egg-info/top_level.txt +0 -0
  79. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_agent_instruction.py +0 -0
  80. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_autocompact.py +0 -0
  81. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_capability_routing.py +0 -0
  82. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_claude_web_adapter_sse.py +0 -0
  83. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_cli_init.py +0 -0
  84. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_computer_use_permissions.py +0 -0
  85. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_context_budget.py +0 -0
  86. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_context_warning.py +0 -0
  87. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_credentials.py +0 -0
  88. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_interactive_permission_ask.py +0 -0
  89. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_kairos_scheduler.py +0 -0
  90. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_modality_tools.py +0 -0
  91. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_model_error_retry.py +0 -0
  92. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_model_errors.py +0 -0
  93. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_model_routing.py +0 -0
  94. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_paths.py +0 -0
  95. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_permissions.py +0 -0
  96. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_prompt_suggestions.py +0 -0
  97. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_repl_commands.py +0 -0
  98. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_repl_slash.py +0 -0
  99. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_slash_commands.py +0 -0
  100. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_thinking_config.py +0 -0
  101. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_token_budget.py +0 -0
  102. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_tool_context_circulation.py +0 -0
  103. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_tools.py +0 -0
  104. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_tools_inspector.py +0 -0
  105. {gemcode-0.3.9 → gemcode-0.3.10}/tests/test_workspace_hints.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gemcode
3
- Version: 0.3.9
3
+ Version: 0.3.10
4
4
  Summary: Local-first coding agent on Google Gemini + ADK
5
5
  Author: GemCode Contributors
6
6
  License: Apache License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gemcode"
7
- version = "0.3.9"
7
+ version = "0.3.10"
8
8
  description = "Local-first coding agent on Google Gemini + ADK"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gemcode
3
- Version: 0.3.9
3
+ Version: 0.3.10
4
4
  Summary: Local-first coding agent on Google Gemini + ADK
5
5
  Author: GemCode Contributors
6
6
  License: Apache License
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