gemcode 0.3.103__tar.gz → 0.3.105__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.103/src/gemcode.egg-info → gemcode-0.3.105}/PKG-INFO +6 -2
  2. {gemcode-0.3.103 → gemcode-0.3.105}/README.md +5 -1
  3. {gemcode-0.3.103 → gemcode-0.3.105}/pyproject.toml +1 -1
  4. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/cli.py +11 -10
  5. {gemcode-0.3.103 → gemcode-0.3.105/src/gemcode.egg-info}/PKG-INFO +6 -2
  6. {gemcode-0.3.103 → gemcode-0.3.105}/LICENSE +0 -0
  7. {gemcode-0.3.103 → gemcode-0.3.105}/MANIFEST.in +0 -0
  8. {gemcode-0.3.103 → gemcode-0.3.105}/setup.cfg +0 -0
  9. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/__init__.py +0 -0
  10. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/__main__.py +0 -0
  11. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/agent.py +0 -0
  12. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/audit.py +0 -0
  13. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/autocompact.py +0 -0
  14. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/autotune.py +0 -0
  15. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/callbacks.py +0 -0
  16. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/capability_routing.py +0 -0
  17. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/checkpoints.py +0 -0
  18. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/compaction.py +0 -0
  19. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/computer_use/__init__.py +0 -0
  20. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/computer_use/browser_computer.py +0 -0
  21. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/config.py +0 -0
  22. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/context_budget.py +0 -0
  23. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/context_warning.py +0 -0
  24. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/credentials.py +0 -0
  25. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/curated_memory.py +0 -0
  26. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/dynamic_policy.py +0 -0
  27. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/evals/harness.py +0 -0
  28. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/hitl_session.py +0 -0
  29. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/hooks.py +0 -0
  30. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/ide_protocol.py +0 -0
  31. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/ide_stdio.py +0 -0
  32. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/intent_classifier.py +0 -0
  33. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/interactions.py +0 -0
  34. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/invoke.py +0 -0
  35. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/kaira_daemon.py +0 -0
  36. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/learning.py +0 -0
  37. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/limits.py +0 -0
  38. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/live_audio_engine.py +0 -0
  39. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/logging_config.py +0 -0
  40. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/mcp_loader.py +0 -0
  41. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/memory/__init__.py +0 -0
  42. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/memory/embedding_memory_service.py +0 -0
  43. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/memory/file_memory_service.py +0 -0
  44. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/modality_tools.py +0 -0
  45. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/model_errors.py +0 -0
  46. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/model_routing.py +0 -0
  47. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/multimodal_input.py +0 -0
  48. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/openapi_loader.py +0 -0
  49. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/output_styles.py +0 -0
  50. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/paths.py +0 -0
  51. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/permissions.py +0 -0
  52. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/plugins/__init__.py +0 -0
  53. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/plugins/terminal_hooks_plugin.py +0 -0
  54. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/plugins/tool_recovery_plugin.py +0 -0
  55. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/policy_profile.py +0 -0
  56. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/pricing.py +0 -0
  57. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/prompt_suggestions.py +0 -0
  58. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/query/__init__.py +0 -0
  59. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/query/config.py +0 -0
  60. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/query/deps.py +0 -0
  61. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/query/engine.py +0 -0
  62. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/query/stop_hooks.py +0 -0
  63. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/query/token_budget.py +0 -0
  64. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/query/transitions.py +0 -0
  65. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/query_sanitizer.py +0 -0
  66. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/refine.py +0 -0
  67. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/repl_commands.py +0 -0
  68. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/repl_slash.py +0 -0
  69. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/review_agent.py +0 -0
  70. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/rules.py +0 -0
  71. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/session_runtime.py +0 -0
  72. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/session_store.py +0 -0
  73. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/session_summariser.py +0 -0
  74. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/skills.py +0 -0
  75. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/slash_commands.py +0 -0
  76. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/thinking.py +0 -0
  77. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tool_prompt_manifest.py +0 -0
  78. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tool_registry.py +0 -0
  79. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tool_result_store.py +0 -0
  80. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/__init__.py +0 -0
  81. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/bash.py +0 -0
  82. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/browser.py +0 -0
  83. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/compress_memory.py +0 -0
  84. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/curated_memory.py +0 -0
  85. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/edit.py +0 -0
  86. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/filesystem.py +0 -0
  87. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/notebook.py +0 -0
  88. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/notes.py +0 -0
  89. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/repo_map.py +0 -0
  90. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/search.py +0 -0
  91. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/shell.py +0 -0
  92. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/shell_gate.py +0 -0
  93. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/skills.py +0 -0
  94. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/subtask.py +0 -0
  95. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/tasks.py +0 -0
  96. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/think.py +0 -0
  97. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/todo.py +0 -0
  98. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/veomem_tools.py +0 -0
  99. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/web.py +0 -0
  100. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools/web_search.py +0 -0
  101. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tools_inspector.py +0 -0
  102. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/trust.py +0 -0
  103. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tui/input_handler.py +0 -0
  104. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tui/scrollback.py +0 -0
  105. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tui/spinner.py +0 -0
  106. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tui/welcome_banner.py +0 -0
  107. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/tui/welcome_rich.py +0 -0
  108. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/veomem_bridge.py +0 -0
  109. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/version.py +0 -0
  110. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/vertex.py +0 -0
  111. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/wal.py +0 -0
  112. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/web/__init__.py +0 -0
  113. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/web/sse_adapter.py +0 -0
  114. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/web/terminal_repl.py +0 -0
  115. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/web/web_sse_compat.py +0 -0
  116. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode/workspace_hints.py +0 -0
  117. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode.egg-info/SOURCES.txt +0 -0
  118. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode.egg-info/dependency_links.txt +0 -0
  119. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode.egg-info/entry_points.txt +0 -0
  120. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode.egg-info/requires.txt +0 -0
  121. {gemcode-0.3.103 → gemcode-0.3.105}/src/gemcode.egg-info/top_level.txt +0 -0
  122. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_add_dir.py +0 -0
  123. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_agent_instruction.py +0 -0
  124. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_autocompact.py +0 -0
  125. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_capability_routing.py +0 -0
  126. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_checkpoint_diff_command.py +0 -0
  127. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_cli_init.py +0 -0
  128. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_compress_memory_tool.py +0 -0
  129. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_computer_use_permissions.py +0 -0
  130. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_context_budget.py +0 -0
  131. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_context_warning.py +0 -0
  132. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_credentials.py +0 -0
  133. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_eval_harness_layout.py +0 -0
  134. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_ide_stdio_attachments.py +0 -0
  135. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_interactive_permission_ask.py +0 -0
  136. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_kaira_scheduler.py +0 -0
  137. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_modality_tools.py +0 -0
  138. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_model_error_retry.py +0 -0
  139. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_model_errors.py +0 -0
  140. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_model_routing.py +0 -0
  141. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_multimodal_input.py +0 -0
  142. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_output_styles_and_rules.py +0 -0
  143. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_paths.py +0 -0
  144. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_permissions.py +0 -0
  145. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_prompt_suggestions.py +0 -0
  146. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_repl_commands.py +0 -0
  147. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_repl_slash.py +0 -0
  148. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_skills.py +0 -0
  149. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_slash_commands.py +0 -0
  150. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_slash_completion_registry.py +0 -0
  151. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_thinking_config.py +0 -0
  152. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_token_budget.py +0 -0
  153. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_tool_context_circulation.py +0 -0
  154. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_tools.py +0 -0
  155. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_tools_inspector.py +0 -0
  156. {gemcode-0.3.103 → gemcode-0.3.105}/tests/test_web_sse_adapter.py +0 -0
  157. {gemcode-0.3.103 → gemcode-0.3.105}/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.103
3
+ Version: 0.3.105
4
4
  Summary: Local-first coding agent on Google Gemini + ADK
5
5
  Author: GemCode Contributors
6
6
  License: Apache License
@@ -213,7 +213,7 @@ GemCode is designed for repository-native work rather than copy-paste chat workf
213
213
  | TUI | Scrollback terminal UI over the REPL runtime |
214
214
  | IDE stdio | Editor integration over JSONL stdin/stdout |
215
215
  | Kaira | Priority-queue scheduler for background jobs |
216
- | Live audio | Microphone-driven Gemini Live sessions |
216
+ | Live audio (future scope) | Planned: microphone-driven Gemini Live sessions (currently experimental/unreliable) |
217
217
 
218
218
  ## Recommended reading order
219
219
 
@@ -359,6 +359,10 @@ gemcode ide --stdio
359
359
  gemcode live-audio -C .
360
360
  ```
361
361
 
362
+ Status note:
363
+ - `live-audio` is currently **experimental** and may fail due to upstream Gemini Live availability/reliability (for example transient `1011` internal errors).
364
+ - Treat this as **future scope** for production workflows.
365
+
362
366
  ## REPL command highlights
363
367
 
364
368
  | Command | Purpose |
@@ -21,7 +21,7 @@ GemCode is designed for repository-native work rather than copy-paste chat workf
21
21
  | TUI | Scrollback terminal UI over the REPL runtime |
22
22
  | IDE stdio | Editor integration over JSONL stdin/stdout |
23
23
  | Kaira | Priority-queue scheduler for background jobs |
24
- | Live audio | Microphone-driven Gemini Live sessions |
24
+ | Live audio (future scope) | Planned: microphone-driven Gemini Live sessions (currently experimental/unreliable) |
25
25
 
26
26
  ## Recommended reading order
27
27
 
@@ -167,6 +167,10 @@ gemcode ide --stdio
167
167
  gemcode live-audio -C .
168
168
  ```
169
169
 
170
+ Status note:
171
+ - `live-audio` is currently **experimental** and may fail due to upstream Gemini Live availability/reliability (for example transient `1011` internal errors).
172
+ - Treat this as **future scope** for production workflows.
173
+
170
174
  ## REPL command highlights
171
175
 
172
176
  | Command | Purpose |
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gemcode"
7
- version = "0.3.103"
7
+ version = "0.3.105"
8
8
  description = "Local-first coding agent on Google Gemini + ADK"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -849,18 +849,19 @@ def main() -> None:
849
849
  if isinstance(e, APIError) and (getattr(e, "status_code", None) == 1000 or "1000" in str(e)):
850
850
  print("\n[gemcode live-audio] Session ended.", file=sys.stderr)
851
851
  raise SystemExit(0)
852
- if isinstance(e, APIError) and getattr(e, "status_code", None) == 1011:
853
- print(
854
- "\n[gemcode live-audio] Gemini Live internal error (1011).\n"
855
- "This is usually transient. Try again, or try:\n"
856
- " - set a different live model: gemcode live-audio --model <id>\n"
857
- " - disable playback: gemcode live-audio --no-playback\n"
858
- " - shorten the session: gemcode live-audio --seconds 10\n",
859
- file=sys.stderr,
860
- )
861
- raise SystemExit(2)
862
852
  except Exception:
863
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)
864
865
  # websockets can also surface a close directly.
865
866
  if "ConnectionClosedOK" in repr(e) or "sent 1000 (OK)" in str(e):
866
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.103
3
+ Version: 0.3.105
4
4
  Summary: Local-first coding agent on Google Gemini + ADK
5
5
  Author: GemCode Contributors
6
6
  License: Apache License
@@ -213,7 +213,7 @@ GemCode is designed for repository-native work rather than copy-paste chat workf
213
213
  | TUI | Scrollback terminal UI over the REPL runtime |
214
214
  | IDE stdio | Editor integration over JSONL stdin/stdout |
215
215
  | Kaira | Priority-queue scheduler for background jobs |
216
- | Live audio | Microphone-driven Gemini Live sessions |
216
+ | Live audio (future scope) | Planned: microphone-driven Gemini Live sessions (currently experimental/unreliable) |
217
217
 
218
218
  ## Recommended reading order
219
219
 
@@ -359,6 +359,10 @@ gemcode ide --stdio
359
359
  gemcode live-audio -C .
360
360
  ```
361
361
 
362
+ Status note:
363
+ - `live-audio` is currently **experimental** and may fail due to upstream Gemini Live availability/reliability (for example transient `1011` internal errors).
364
+ - Treat this as **future scope** for production workflows.
365
+
362
366
  ## REPL command highlights
363
367
 
364
368
  | Command | Purpose |
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes