gemcode 0.3.102__tar.gz → 0.3.104__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 (157) hide show
  1. {gemcode-0.3.102/src/gemcode.egg-info → gemcode-0.3.104}/PKG-INFO +1 -1
  2. {gemcode-0.3.102 → gemcode-0.3.104}/pyproject.toml +1 -1
  3. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/cli.py +18 -1
  4. {gemcode-0.3.102 → gemcode-0.3.104/src/gemcode.egg-info}/PKG-INFO +1 -1
  5. {gemcode-0.3.102 → gemcode-0.3.104}/LICENSE +0 -0
  6. {gemcode-0.3.102 → gemcode-0.3.104}/MANIFEST.in +0 -0
  7. {gemcode-0.3.102 → gemcode-0.3.104}/README.md +0 -0
  8. {gemcode-0.3.102 → gemcode-0.3.104}/setup.cfg +0 -0
  9. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/__init__.py +0 -0
  10. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/__main__.py +0 -0
  11. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/agent.py +0 -0
  12. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/audit.py +0 -0
  13. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/autocompact.py +0 -0
  14. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/autotune.py +0 -0
  15. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/callbacks.py +0 -0
  16. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/capability_routing.py +0 -0
  17. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/checkpoints.py +0 -0
  18. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/compaction.py +0 -0
  19. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/computer_use/__init__.py +0 -0
  20. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/computer_use/browser_computer.py +0 -0
  21. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/config.py +0 -0
  22. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/context_budget.py +0 -0
  23. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/context_warning.py +0 -0
  24. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/credentials.py +0 -0
  25. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/curated_memory.py +0 -0
  26. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/dynamic_policy.py +0 -0
  27. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/evals/harness.py +0 -0
  28. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/hitl_session.py +0 -0
  29. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/hooks.py +0 -0
  30. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/ide_protocol.py +0 -0
  31. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/ide_stdio.py +0 -0
  32. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/intent_classifier.py +0 -0
  33. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/interactions.py +0 -0
  34. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/invoke.py +0 -0
  35. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/kaira_daemon.py +0 -0
  36. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/learning.py +0 -0
  37. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/limits.py +0 -0
  38. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/live_audio_engine.py +0 -0
  39. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/logging_config.py +0 -0
  40. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/mcp_loader.py +0 -0
  41. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/memory/__init__.py +0 -0
  42. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/memory/embedding_memory_service.py +0 -0
  43. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/memory/file_memory_service.py +0 -0
  44. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/modality_tools.py +0 -0
  45. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/model_errors.py +0 -0
  46. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/model_routing.py +0 -0
  47. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/multimodal_input.py +0 -0
  48. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/openapi_loader.py +0 -0
  49. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/output_styles.py +0 -0
  50. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/paths.py +0 -0
  51. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/permissions.py +0 -0
  52. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/plugins/__init__.py +0 -0
  53. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/plugins/terminal_hooks_plugin.py +0 -0
  54. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/plugins/tool_recovery_plugin.py +0 -0
  55. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/policy_profile.py +0 -0
  56. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/pricing.py +0 -0
  57. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/prompt_suggestions.py +0 -0
  58. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/query/__init__.py +0 -0
  59. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/query/config.py +0 -0
  60. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/query/deps.py +0 -0
  61. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/query/engine.py +0 -0
  62. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/query/stop_hooks.py +0 -0
  63. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/query/token_budget.py +0 -0
  64. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/query/transitions.py +0 -0
  65. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/query_sanitizer.py +0 -0
  66. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/refine.py +0 -0
  67. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/repl_commands.py +0 -0
  68. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/repl_slash.py +0 -0
  69. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/review_agent.py +0 -0
  70. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/rules.py +0 -0
  71. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/session_runtime.py +0 -0
  72. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/session_store.py +0 -0
  73. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/session_summariser.py +0 -0
  74. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/skills.py +0 -0
  75. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/slash_commands.py +0 -0
  76. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/thinking.py +0 -0
  77. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tool_prompt_manifest.py +0 -0
  78. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tool_registry.py +0 -0
  79. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tool_result_store.py +0 -0
  80. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/__init__.py +0 -0
  81. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/bash.py +0 -0
  82. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/browser.py +0 -0
  83. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/compress_memory.py +0 -0
  84. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/curated_memory.py +0 -0
  85. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/edit.py +0 -0
  86. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/filesystem.py +0 -0
  87. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/notebook.py +0 -0
  88. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/notes.py +0 -0
  89. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/repo_map.py +0 -0
  90. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/search.py +0 -0
  91. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/shell.py +0 -0
  92. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/shell_gate.py +0 -0
  93. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/skills.py +0 -0
  94. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/subtask.py +0 -0
  95. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/tasks.py +0 -0
  96. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/think.py +0 -0
  97. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/todo.py +0 -0
  98. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/veomem_tools.py +0 -0
  99. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/web.py +0 -0
  100. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools/web_search.py +0 -0
  101. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tools_inspector.py +0 -0
  102. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/trust.py +0 -0
  103. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tui/input_handler.py +0 -0
  104. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tui/scrollback.py +0 -0
  105. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tui/spinner.py +0 -0
  106. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tui/welcome_banner.py +0 -0
  107. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/tui/welcome_rich.py +0 -0
  108. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/veomem_bridge.py +0 -0
  109. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/version.py +0 -0
  110. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/vertex.py +0 -0
  111. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/wal.py +0 -0
  112. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/web/__init__.py +0 -0
  113. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/web/sse_adapter.py +0 -0
  114. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/web/terminal_repl.py +0 -0
  115. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/web/web_sse_compat.py +0 -0
  116. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode/workspace_hints.py +0 -0
  117. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode.egg-info/SOURCES.txt +0 -0
  118. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode.egg-info/dependency_links.txt +0 -0
  119. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode.egg-info/entry_points.txt +0 -0
  120. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode.egg-info/requires.txt +0 -0
  121. {gemcode-0.3.102 → gemcode-0.3.104}/src/gemcode.egg-info/top_level.txt +0 -0
  122. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_add_dir.py +0 -0
  123. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_agent_instruction.py +0 -0
  124. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_autocompact.py +0 -0
  125. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_capability_routing.py +0 -0
  126. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_checkpoint_diff_command.py +0 -0
  127. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_cli_init.py +0 -0
  128. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_compress_memory_tool.py +0 -0
  129. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_computer_use_permissions.py +0 -0
  130. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_context_budget.py +0 -0
  131. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_context_warning.py +0 -0
  132. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_credentials.py +0 -0
  133. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_eval_harness_layout.py +0 -0
  134. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_ide_stdio_attachments.py +0 -0
  135. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_interactive_permission_ask.py +0 -0
  136. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_kaira_scheduler.py +0 -0
  137. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_modality_tools.py +0 -0
  138. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_model_error_retry.py +0 -0
  139. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_model_errors.py +0 -0
  140. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_model_routing.py +0 -0
  141. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_multimodal_input.py +0 -0
  142. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_output_styles_and_rules.py +0 -0
  143. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_paths.py +0 -0
  144. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_permissions.py +0 -0
  145. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_prompt_suggestions.py +0 -0
  146. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_repl_commands.py +0 -0
  147. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_repl_slash.py +0 -0
  148. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_skills.py +0 -0
  149. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_slash_commands.py +0 -0
  150. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_slash_completion_registry.py +0 -0
  151. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_thinking_config.py +0 -0
  152. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_token_budget.py +0 -0
  153. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_tool_context_circulation.py +0 -0
  154. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_tools.py +0 -0
  155. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_tools_inspector.py +0 -0
  156. {gemcode-0.3.102 → gemcode-0.3.104}/tests/test_web_sse_adapter.py +0 -0
  157. {gemcode-0.3.102 → gemcode-0.3.104}/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.102
3
+ Version: 0.3.104
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.102"
7
+ version = "0.3.104"
8
8
  description = "Local-first coding agent on Google Gemini + ADK"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -822,7 +822,13 @@ def main() -> None:
822
822
  )
823
823
  )
824
824
  captured = buf.getvalue()
825
- if captured and "An unexpected error occurred in live flow: 1000" not in captured:
825
+ noisy = (
826
+ "An unexpected error occurred in live flow: 1000" in captured
827
+ or "APIError: 1000" in captured
828
+ or "APIError: 1011" in captured
829
+ or "An unexpected error occurred in live flow: 1011" in captured
830
+ )
831
+ if captured and not noisy:
826
832
  # Re-emit unexpected stderr.
827
833
  print(captured, file=sys.stderr, end="")
828
834
  else:
@@ -845,6 +851,17 @@ def main() -> None:
845
851
  raise SystemExit(0)
846
852
  except Exception:
847
853
  pass
854
+ # Gemini Live "1011 Internal error" can surface through different wrappers.
855
+ if "1011" in str(e) or "received 1011" in str(e) or "Internal error encountered" in str(e):
856
+ print(
857
+ "\n[gemcode live-audio] Gemini Live internal error (1011).\n"
858
+ "This is usually transient. Try again, or try:\n"
859
+ " - set a different live model: gemcode live-audio --model <id>\n"
860
+ " - disable playback: gemcode live-audio --no-playback\n"
861
+ " - shorten the session: gemcode live-audio --seconds 10\n",
862
+ file=sys.stderr,
863
+ )
864
+ raise SystemExit(2)
848
865
  # websockets can also surface a close directly.
849
866
  if "ConnectionClosedOK" in repr(e) or "sent 1000 (OK)" in str(e):
850
867
  print("\n[gemcode live-audio] Session ended.", file=sys.stderr)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gemcode
3
- Version: 0.3.102
3
+ Version: 0.3.104
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