gemcode 0.3.41__tar.gz → 0.3.42__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 (121) hide show
  1. {gemcode-0.3.41/src/gemcode.egg-info → gemcode-0.3.42}/PKG-INFO +1 -1
  2. {gemcode-0.3.41 → gemcode-0.3.42}/pyproject.toml +1 -1
  3. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/intent_classifier.py +5 -21
  4. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tui/scrollback.py +3 -4
  5. {gemcode-0.3.41 → gemcode-0.3.42/src/gemcode.egg-info}/PKG-INFO +1 -1
  6. {gemcode-0.3.41 → gemcode-0.3.42}/LICENSE +0 -0
  7. {gemcode-0.3.41 → gemcode-0.3.42}/MANIFEST.in +0 -0
  8. {gemcode-0.3.41 → gemcode-0.3.42}/README.md +0 -0
  9. {gemcode-0.3.41 → gemcode-0.3.42}/setup.cfg +0 -0
  10. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/__init__.py +0 -0
  11. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/__main__.py +0 -0
  12. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/agent.py +0 -0
  13. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/audit.py +0 -0
  14. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/autocompact.py +0 -0
  15. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/callbacks.py +0 -0
  16. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/capability_routing.py +0 -0
  17. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/cli.py +0 -0
  18. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/compaction.py +0 -0
  19. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/computer_use/__init__.py +0 -0
  20. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/computer_use/browser_computer.py +0 -0
  21. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/config.py +0 -0
  22. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/context_budget.py +0 -0
  23. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/context_warning.py +0 -0
  24. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/credentials.py +0 -0
  25. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/hitl_session.py +0 -0
  26. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/hooks.py +0 -0
  27. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/interactions.py +0 -0
  28. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/invoke.py +0 -0
  29. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/kairos_daemon.py +0 -0
  30. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/limits.py +0 -0
  31. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/live_audio_engine.py +0 -0
  32. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/logging_config.py +0 -0
  33. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/mcp_loader.py +0 -0
  34. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/memory/__init__.py +0 -0
  35. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/memory/embedding_memory_service.py +0 -0
  36. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/memory/file_memory_service.py +0 -0
  37. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/modality_tools.py +0 -0
  38. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/model_errors.py +0 -0
  39. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/model_routing.py +0 -0
  40. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/openapi_loader.py +0 -0
  41. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/paths.py +0 -0
  42. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/permissions.py +0 -0
  43. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/plugins/__init__.py +0 -0
  44. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/plugins/terminal_hooks_plugin.py +0 -0
  45. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/plugins/tool_recovery_plugin.py +0 -0
  46. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/pricing.py +0 -0
  47. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/prompt_suggestions.py +0 -0
  48. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/query/__init__.py +0 -0
  49. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/query/config.py +0 -0
  50. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/query/deps.py +0 -0
  51. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/query/engine.py +0 -0
  52. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/query/stop_hooks.py +0 -0
  53. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/query/token_budget.py +0 -0
  54. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/query/transitions.py +0 -0
  55. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/refine.py +0 -0
  56. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/repl_commands.py +0 -0
  57. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/repl_slash.py +0 -0
  58. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/review_agent.py +0 -0
  59. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/session_runtime.py +0 -0
  60. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/session_store.py +0 -0
  61. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/slash_commands.py +0 -0
  62. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/thinking.py +0 -0
  63. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tool_prompt_manifest.py +0 -0
  64. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tool_registry.py +0 -0
  65. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/__init__.py +0 -0
  66. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/bash.py +0 -0
  67. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/browser.py +0 -0
  68. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/edit.py +0 -0
  69. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/filesystem.py +0 -0
  70. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/notes.py +0 -0
  71. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/search.py +0 -0
  72. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/shell.py +0 -0
  73. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/shell_gate.py +0 -0
  74. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/subtask.py +0 -0
  75. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/think.py +0 -0
  76. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/todo.py +0 -0
  77. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools/web.py +0 -0
  78. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tools_inspector.py +0 -0
  79. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/trust.py +0 -0
  80. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tui/input_handler.py +0 -0
  81. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tui/spinner.py +0 -0
  82. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tui/welcome_banner.py +0 -0
  83. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/tui/welcome_rich.py +0 -0
  84. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/version.py +0 -0
  85. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/vertex.py +0 -0
  86. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/web/__init__.py +0 -0
  87. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/web/claude_sse_adapter.py +0 -0
  88. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/web/terminal_repl.py +0 -0
  89. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode/workspace_hints.py +0 -0
  90. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode.egg-info/SOURCES.txt +0 -0
  91. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode.egg-info/dependency_links.txt +0 -0
  92. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode.egg-info/entry_points.txt +0 -0
  93. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode.egg-info/requires.txt +0 -0
  94. {gemcode-0.3.41 → gemcode-0.3.42}/src/gemcode.egg-info/top_level.txt +0 -0
  95. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_agent_instruction.py +0 -0
  96. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_autocompact.py +0 -0
  97. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_capability_routing.py +0 -0
  98. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_claude_web_adapter_sse.py +0 -0
  99. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_cli_init.py +0 -0
  100. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_computer_use_permissions.py +0 -0
  101. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_context_budget.py +0 -0
  102. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_context_warning.py +0 -0
  103. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_credentials.py +0 -0
  104. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_interactive_permission_ask.py +0 -0
  105. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_kairos_scheduler.py +0 -0
  106. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_modality_tools.py +0 -0
  107. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_model_error_retry.py +0 -0
  108. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_model_errors.py +0 -0
  109. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_model_routing.py +0 -0
  110. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_paths.py +0 -0
  111. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_permissions.py +0 -0
  112. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_prompt_suggestions.py +0 -0
  113. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_repl_commands.py +0 -0
  114. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_repl_slash.py +0 -0
  115. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_slash_commands.py +0 -0
  116. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_thinking_config.py +0 -0
  117. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_token_budget.py +0 -0
  118. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_tool_context_circulation.py +0 -0
  119. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_tools.py +0 -0
  120. {gemcode-0.3.41 → gemcode-0.3.42}/tests/test_tools_inspector.py +0 -0
  121. {gemcode-0.3.41 → gemcode-0.3.42}/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.41
3
+ Version: 0.3.42
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.41"
7
+ version = "0.3.42"
8
8
  description = "Local-first coding agent on Google Gemini + ADK"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -41,35 +41,19 @@ INTENT_DESCRIPTIONS: dict[str, str] = {
41
41
  INTENT_ANALYSIS: "Systematic audit or summarisation — thorough tool sweep, then synthesise.",
42
42
  }
43
43
 
44
- # One-line summaries for the TUI — same visual lane as ∴ Thinking (collapsed)
45
- INTENT_THINKING_SUMMARY: dict[str, str] = {
46
- INTENT_GREETING: "Greeting / chitchat — no tools",
47
- INTENT_CONCEPT: "General knowledge — answer without repo reads if possible",
48
- INTENT_PROJECT_QUESTION: "About this repo — a few read-only tools, then answer",
49
- INTENT_ENGINEERING_TASK: "Engineering task — orient → plan → execute → verify",
50
- INTENT_ANALYSIS: "Deep analysis — systematic read / grep / synthesise",
51
- }
52
-
53
44
  # How the intent was determined (for TUI suffix)
54
45
  SOURCE_LOCAL = "local" # obvious greeting / heuristic, no classifier API call
55
46
  SOURCE_LLM = "llm" # gemini-2.5-flash-lite classifier
56
47
  SOURCE_OFF = "off" # classifier disabled
57
48
 
58
49
 
59
- def format_intent_thinking_line(intent: str, source: str) -> str | None:
50
+ def show_intentifying_line(source: str) -> bool:
60
51
  """
61
- Single line of text after ``∴ Intent`` in the TUI (same visual lane as
62
- collapsed ``∴ Thinking``). Returns None when the classifier is off and
63
- nothing should be shown.
52
+ Whether to show the minimal ``∴ Intentifying…`` line in the TUI (same lane
53
+ as ``∴ Thinking``). Hidden only when intent classification is disabled
54
+ (``SOURCE_OFF``).
64
55
  """
65
- if source == SOURCE_OFF:
66
- return None
67
- summary = INTENT_THINKING_SUMMARY.get(intent, intent)
68
- if source == SOURCE_LOCAL:
69
- tag = "instant"
70
- else:
71
- tag = "flash-lite classifier"
72
- return f"{intent} — {summary} · {tag}"
56
+ return source != SOURCE_OFF
73
57
 
74
58
  # ── Prompts ───────────────────────────────────────────────────────────────────
75
59
  _CLASSIFY_PROMPT = """\
@@ -521,15 +521,14 @@ async def run_gemcode_scrollback_tui(
521
521
  from gemcode.intent_classifier import (
522
522
  classify_intent_with_source,
523
523
  generate_greeting_reply,
524
- format_intent_thinking_line,
524
+ show_intentifying_line,
525
525
  INTENT_GREETING,
526
526
  INTENT_DESCRIPTIONS,
527
527
  )
528
528
  _intent, _intent_src = await classify_intent_with_source(prompt)
529
- _intent_line = format_intent_thinking_line(_intent, _intent_src)
530
- if _intent_line:
529
+ if show_intentifying_line(_intent_src):
531
530
  print(
532
- f" \u23bf {ansi.dim}\u2234 Intent {_intent_line}{ansi.reset}"
531
+ f" \u23bf {ansi.dim}\u2234 Intentifying\u2026{ansi.reset}"
533
532
  )
534
533
  print("")
535
534
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gemcode
3
- Version: 0.3.41
3
+ Version: 0.3.42
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