gemcode 0.3.34__tar.gz → 0.3.36__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.34/src/gemcode.egg-info → gemcode-0.3.36}/PKG-INFO +1 -1
- {gemcode-0.3.34 → gemcode-0.3.36}/pyproject.toml +1 -1
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/agent.py +2 -2
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/cli.py +2 -2
- {gemcode-0.3.34 → gemcode-0.3.36/src/gemcode.egg-info}/PKG-INFO +1 -1
- {gemcode-0.3.34 → gemcode-0.3.36}/LICENSE +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/MANIFEST.in +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/README.md +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/setup.cfg +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/__init__.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/__main__.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/audit.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/autocompact.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/callbacks.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/capability_routing.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/compaction.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/computer_use/__init__.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/computer_use/browser_computer.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/config.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/context_budget.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/context_warning.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/credentials.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/hitl_session.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/hooks.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/interactions.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/invoke.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/kairos_daemon.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/limits.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/live_audio_engine.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/logging_config.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/mcp_loader.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/memory/__init__.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/memory/embedding_memory_service.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/memory/file_memory_service.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/modality_tools.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/model_errors.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/model_routing.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/openapi_loader.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/paths.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/permissions.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/plugins/__init__.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/plugins/terminal_hooks_plugin.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/plugins/tool_recovery_plugin.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/pricing.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/prompt_suggestions.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/query/__init__.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/query/config.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/query/deps.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/query/engine.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/query/stop_hooks.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/query/token_budget.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/query/transitions.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/refine.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/repl_commands.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/repl_slash.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/review_agent.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/session_runtime.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/session_store.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/slash_commands.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/thinking.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tool_prompt_manifest.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tool_registry.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/__init__.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/bash.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/browser.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/edit.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/filesystem.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/notes.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/search.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/shell.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/shell_gate.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/subtask.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/think.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/todo.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools/web.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tools_inspector.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/trust.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tui/input_handler.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tui/scrollback.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tui/spinner.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tui/welcome_banner.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/tui/welcome_rich.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/version.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/vertex.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/web/__init__.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/web/claude_sse_adapter.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/web/terminal_repl.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode/workspace_hints.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode.egg-info/SOURCES.txt +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode.egg-info/dependency_links.txt +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode.egg-info/entry_points.txt +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode.egg-info/requires.txt +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/src/gemcode.egg-info/top_level.txt +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_agent_instruction.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_autocompact.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_capability_routing.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_claude_web_adapter_sse.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_cli_init.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_computer_use_permissions.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_context_budget.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_context_warning.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_credentials.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_interactive_permission_ask.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_kairos_scheduler.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_modality_tools.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_model_error_retry.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_model_errors.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_model_routing.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_paths.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_permissions.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_prompt_suggestions.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_repl_commands.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_repl_slash.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_slash_commands.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_thinking_config.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_token_budget.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_tool_context_circulation.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_tools.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_tools_inspector.py +0 -0
- {gemcode-0.3.34 → gemcode-0.3.36}/tests/test_workspace_hints.py +0 -0
|
@@ -414,7 +414,7 @@ Never stop mid-task just because the first tool call succeeded. Keep going until
|
|
|
414
414
|
| `bash("find . -name '*.py'")` | `glob_files("**/*.py")` |
|
|
415
415
|
| `bash("cat file.py")` | `read_file("file.py")` |
|
|
416
416
|
| `bash("grep -r pattern .")` | `grep_content("pattern", "**/*")` |
|
|
417
|
-
| `bash("find . -type f
|
|
417
|
+
| `bash("find . -type f \\| head -50")` | `list_directory(".")` + `glob_files("**/*")` |
|
|
418
418
|
|
|
419
419
|
Only reach for `bash` or `run_command` when you actually need to **execute** something: run tests, build, git ops, start a server, install packages. **NEVER** use bash to list or read files.
|
|
420
420
|
|
|
@@ -563,7 +563,7 @@ When `artifacts ON` (see Runtime facts above):
|
|
|
563
563
|
- Screenshots from computer_use: save as "screenshot.png" artifact
|
|
564
564
|
- Generated reports/PDFs: save as "report.pdf" artifact
|
|
565
565
|
- Large JSON data: save as "data.json" artifact
|
|
566
|
-
- **Reference** artifacts in instructions via `{artifact.filename?}` template syntax
|
|
566
|
+
- **Reference** artifacts in instructions via `{{artifact.filename?}}` template syntax (ADK optional-field placeholder)
|
|
567
567
|
- Artifacts are keyed by filename; `user:` prefix = cross-session persistence
|
|
568
568
|
|
|
569
569
|
## Code Executor (sandboxed Python)
|
|
@@ -233,7 +233,7 @@ async def _run_repl(cfg: GemCodeConfig, session_id: str, *, use_mcp: bool) -> No
|
|
|
233
233
|
cfg=cfg,
|
|
234
234
|
runner=runner,
|
|
235
235
|
session_id=session_id,
|
|
236
|
-
extra_tools=
|
|
236
|
+
extra_tools=None,
|
|
237
237
|
)
|
|
238
238
|
return
|
|
239
239
|
except Exception as e:
|
|
@@ -263,7 +263,7 @@ async def _run_repl(cfg: GemCodeConfig, session_id: str, *, use_mcp: bool) -> No
|
|
|
263
263
|
runner=runner,
|
|
264
264
|
session_id=session_id,
|
|
265
265
|
prompt_text=prompt_text,
|
|
266
|
-
extra_tools=
|
|
266
|
+
extra_tools=None,
|
|
267
267
|
)
|
|
268
268
|
if slash is not None:
|
|
269
269
|
if slash.exit_repl:
|
|
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
|
|
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
|