@google/gemini-cli-core 0.56.0 → 0.57.0-preview.1

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 (92) hide show
  1. package/dist/docs/changelogs/latest.md +224 -3
  2. package/dist/docs/get-started/authentication.mdx +1 -1
  3. package/dist/docs/reference/commands.md +7 -5
  4. package/dist/google-gemini-cli-core-0.57.0-preview.0.tgz +0 -0
  5. package/dist/src/agent/legacy-agent-session.js +14 -0
  6. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  7. package/dist/src/agent/legacy-agent-session.test.js +52 -0
  8. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  9. package/dist/src/agents/agentLoader.d.ts +18 -18
  10. package/dist/src/agents/cli-help-agent.js +13 -1
  11. package/dist/src/agents/cli-help-agent.js.map +1 -1
  12. package/dist/src/agents/cli-help-agent.test.js +4 -4
  13. package/dist/src/agents/cli-help-agent.test.js.map +1 -1
  14. package/dist/src/agents/registry.js +4 -1
  15. package/dist/src/agents/registry.js.map +1 -1
  16. package/dist/src/agents/registry.test.js +8 -0
  17. package/dist/src/agents/registry.test.js.map +1 -1
  18. package/dist/src/availability/modelAvailabilityService.d.ts +2 -1
  19. package/dist/src/availability/modelAvailabilityService.js +20 -5
  20. package/dist/src/availability/modelAvailabilityService.js.map +1 -1
  21. package/dist/src/availability/modelAvailabilityService.test.js +50 -1
  22. package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
  23. package/dist/src/config/config.js +5 -2
  24. package/dist/src/config/config.js.map +1 -1
  25. package/dist/src/context/contextManager.js +5 -6
  26. package/dist/src/context/contextManager.js.map +1 -1
  27. package/dist/src/context/contextManager.test.js +17 -0
  28. package/dist/src/context/contextManager.test.js.map +1 -1
  29. package/dist/src/core/geminiChat.d.ts +16 -0
  30. package/dist/src/core/geminiChat.js +164 -32
  31. package/dist/src/core/geminiChat.js.map +1 -1
  32. package/dist/src/core/geminiChat.test.js +388 -26
  33. package/dist/src/core/geminiChat.test.js.map +1 -1
  34. package/dist/src/generated/git-commit.d.ts +2 -2
  35. package/dist/src/generated/git-commit.js +2 -2
  36. package/dist/src/generated/git-commit.js.map +1 -1
  37. package/dist/src/ide/ide-connection-utils.js +47 -10
  38. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  39. package/dist/src/ide/ide-connection-utils.test.js +85 -0
  40. package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
  41. package/dist/src/ide/process-utils.js +5 -2
  42. package/dist/src/ide/process-utils.js.map +1 -1
  43. package/dist/src/ide/process-utils.test.js +13 -1
  44. package/dist/src/ide/process-utils.test.js.map +1 -1
  45. package/dist/src/mcp/oauth-provider.js +2 -2
  46. package/dist/src/mcp/oauth-provider.js.map +1 -1
  47. package/dist/src/mcp/oauth-provider.test.js +70 -0
  48. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  49. package/dist/src/policy/policy-engine.d.ts +2 -0
  50. package/dist/src/policy/policy-engine.js +56 -0
  51. package/dist/src/policy/policy-engine.js.map +1 -1
  52. package/dist/src/policy/policy-engine.test.js +79 -0
  53. package/dist/src/policy/policy-engine.test.js.map +1 -1
  54. package/dist/src/policy/types.d.ts +4 -0
  55. package/dist/src/policy/types.js.map +1 -1
  56. package/dist/src/services/gitService.js +4 -3
  57. package/dist/src/services/gitService.js.map +1 -1
  58. package/dist/src/services/gitService.test.js +16 -9
  59. package/dist/src/services/gitService.test.js.map +1 -1
  60. package/dist/src/services/shellExecutionService.d.ts +1 -1
  61. package/dist/src/services/shellExecutionService.js +40 -27
  62. package/dist/src/services/shellExecutionService.js.map +1 -1
  63. package/dist/src/services/shellExecutionService.test.js +29 -9
  64. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  65. package/dist/src/services/worktreeService.js +9 -0
  66. package/dist/src/services/worktreeService.js.map +1 -1
  67. package/dist/src/services/worktreeService.test.js +8 -6
  68. package/dist/src/services/worktreeService.test.js.map +1 -1
  69. package/dist/src/skills/builtin/antigravity-support/SKILL.md +55 -18
  70. package/dist/src/skills/builtin/skill-creator/SKILL.md +221 -84
  71. package/dist/src/tools/edit.js +19 -4
  72. package/dist/src/tools/edit.js.map +1 -1
  73. package/dist/src/tools/edit.test.js +21 -2
  74. package/dist/src/tools/edit.test.js.map +1 -1
  75. package/dist/src/tools/grep.js +2 -1
  76. package/dist/src/tools/grep.js.map +1 -1
  77. package/dist/src/utils/gitUtils.d.ts +1 -0
  78. package/dist/src/utils/gitUtils.js +34 -0
  79. package/dist/src/utils/gitUtils.js.map +1 -1
  80. package/dist/src/utils/oauth-flow.d.ts +6 -0
  81. package/dist/src/utils/oauth-flow.js +33 -2
  82. package/dist/src/utils/oauth-flow.js.map +1 -1
  83. package/dist/src/utils/oauth-flow.test.js +81 -0
  84. package/dist/src/utils/oauth-flow.test.js.map +1 -1
  85. package/dist/src/utils/retry.js +55 -14
  86. package/dist/src/utils/retry.js.map +1 -1
  87. package/dist/src/utils/retry.test.js +88 -0
  88. package/dist/src/utils/retry.test.js.map +1 -1
  89. package/dist/src/utils/trust.js +3 -0
  90. package/dist/src/utils/trust.js.map +1 -1
  91. package/dist/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- # Latest stable release: v0.54.0
1
+ # Latest stable release: v0.55.1
2
2
 
3
- Released: August 6, 2026
3
+ Released: August 11, 2026
4
4
 
5
5
  For most users, our latest stable release is the recommended release. Install
6
6
  the latest stable version with:
@@ -27,6 +27,227 @@ npm install -g @google/gemini-cli
27
27
 
28
28
  ## What's Changed
29
29
 
30
+ - fix/verify release npm ci ignore scripts by @rmedranollamas in
31
+ [#28116](https://github.com/google-gemini/gemini-cli/pull/28116)
32
+ - fix(ci): prevent workspace binary shadowing in release verification by
33
+ @galdawave in [#28132](https://github.com/google-gemini/gemini-cli/pull/28132)
34
+ - Feat/tool registry discovery by @ved015 in
35
+ [#28113](https://github.com/google-gemini/gemini-cli/pull/28113)
36
+ - fix(ci): prevent bad NPM releases and promote job crashes by @galdawave in
37
+ [#28147](https://github.com/google-gemini/gemini-cli/pull/28147)
38
+ - Changelog for v0.50.0-preview.1 by @gemini-cli-robot in
39
+ [#28150](https://github.com/google-gemini/gemini-cli/pull/28150)
40
+ - Fix no_proxy test by @jerrylin3321 in
41
+ [#28131](https://github.com/google-gemini/gemini-cli/pull/28131)
42
+ - chore(release): bump version to 0.51.0-nightly.20260625.g3fbf93e26 by
43
+ @gemini-cli-robot in
44
+ [#28151](https://github.com/google-gemini/gemini-cli/pull/28151)
45
+ - Vertex base url update by @DavidAPierce in
46
+ [#28145](https://github.com/google-gemini/gemini-cli/pull/28145)
47
+ - fix(security): enforce case-insensitive sensitive path blocklist and vscode
48
+ hitl by @luisfelipe-alt in
49
+ [#27966](https://github.com/google-gemini/gemini-cli/pull/27966)
50
+ - fix(core-tools): resolve defensive path resolution for at-reference files and
51
+ fix macOS tests by @luisfelipe-alt in
52
+ [#28053](https://github.com/google-gemini/gemini-cli/pull/28053)
53
+ - feat(caretaker): implement Cloud Run webhook ingestion service by @chadd28 in
54
+ [#28015](https://github.com/google-gemini/gemini-cli/pull/28015)
55
+ - fix(core): resolve symbolic link directory escape in memory import processor
56
+ by @luisfelipe-alt in
57
+ [#28233](https://github.com/google-gemini/gemini-cli/pull/28233)
58
+ - feat(caretaker): egress cloud run service skeleton by @chadd28 in
59
+ [#28167](https://github.com/google-gemini/gemini-cli/pull/28167)
60
+ - fix(sandbox): make ~/.gitconfig read-only in the macOS sandbox by
61
+ @ompatel-aiml in
62
+ [#28221](https://github.com/google-gemini/gemini-cli/pull/28221)
63
+ - fix(core): preserve escape sequences in string literals for modern models by
64
+ @luisfelipe-alt in
65
+ [#28299](https://github.com/google-gemini/gemini-cli/pull/28299)
66
+ - fix(core): strip thoughts from scrubbed history turns and resolve thought
67
+ leakage by @amelidev in
68
+ [#27971](https://github.com/google-gemini/gemini-cli/pull/27971)
69
+ - Refactor: exclude transient CI configuration files from workspace context by
70
+ @DavidAPierce in
71
+ [#28216](https://github.com/google-gemini/gemini-cli/pull/28216)
72
+ - feat(caretaker-triage): add triage worker core foundational modules by
73
+ @chadd28 in [#28163](https://github.com/google-gemini/gemini-cli/pull/28163)
74
+ - feat(caretaker-egress): implement octokit github action handler for egress
75
+ service by @chadd28 in
76
+ [#28303](https://github.com/google-gemini/gemini-cli/pull/28303)
77
+ - chore(release): bump version to 0.52.0-nightly.20260707.g27a3da3e8 by
78
+ @gemini-cli-robot in
79
+ [#28323](https://github.com/google-gemini/gemini-cli/pull/28323)
80
+ - Changelog for v0.51.0-preview.0 by @gemini-cli-robot in
81
+ [#28320](https://github.com/google-gemini/gemini-cli/pull/28320)
82
+ - Changelog for v0.50.0 by @gemini-cli-robot in
83
+ [#28322](https://github.com/google-gemini/gemini-cli/pull/28322)
84
+ - fix(core-tools): bypass LLM correction for JSON and IPYNB files in write_file
85
+ and replace by @amelidev in
86
+ [#28223](https://github.com/google-gemini/gemini-cli/pull/28223)
87
+ - fix(core): use unambiguous previous intent label in fallback summary by
88
+ @amelidev in [#28343](https://github.com/google-gemini/gemini-cli/pull/28343)
89
+ - feat(caretaker-triage): implement main worker execution loop and egress action
90
+ publisher by @chadd28 in
91
+ [#28306](https://github.com/google-gemini/gemini-cli/pull/28306)
92
+ - fix(privacy): show a clear message when the account has no Code Assist tier by
93
+ @ompatel-aiml in
94
+ [#28304](https://github.com/google-gemini/gemini-cli/pull/28304)
95
+ - fix(core): enrich shared project quota limit errors with setup hint by
96
+ @amelidev in [#28391](https://github.com/google-gemini/gemini-cli/pull/28391)
97
+ - fix(a2a-server): ensure task cancellation aborts execution loop by
98
+ @luisfelipe-alt in
99
+ [#28316](https://github.com/google-gemini/gemini-cli/pull/28316)
100
+ - fix(core): simplify plan mode write policy to support relative paths by
101
+ @DavidAPierce in
102
+ [#28398](https://github.com/google-gemini/gemini-cli/pull/28398)
103
+ - feat(core): Bump node google-auth-library version to 10.9.0 by @jerrylin3321
104
+ in [#28385](https://github.com/google-gemini/gemini-cli/pull/28385)
105
+ - chore/release: bump version to 0.52.0-nightly.20260715.gfa975395b by
106
+ @gemini-cli-robot in
107
+ [#28402](https://github.com/google-gemini/gemini-cli/pull/28402)
108
+ - fix(core,a2a): group cancelled tool responses and coalesce consecutive roles
109
+ to prevent 400 Bad Request by @luisfelipe-alt in
110
+ [#28407](https://github.com/google-gemini/gemini-cli/pull/28407)
111
+ - feat(caretaker-triage): implement LLM triage orchestrator and container build
112
+ by @chadd28 in
113
+ [#28345](https://github.com/google-gemini/gemini-cli/pull/28345)
114
+ - refactor(cli): align macOS permissive Seatbelt profiles with deny-default
115
+ model by @ompatel-aiml in
116
+ [#28424](https://github.com/google-gemini/gemini-cli/pull/28424)
117
+ - fix(core): mitigate infinite ReAct loops and prompt injection loops by
118
+ @amelidev in [#28429](https://github.com/google-gemini/gemini-cli/pull/28429)
119
+ - fix(a2a-server): enforce workspace trust and task isolation to prevent RCE by
120
+ @luisfelipe-alt in
121
+ [#28470](https://github.com/google-gemini/gemini-cli/pull/28470)
122
+ - fix(core): sequentially verify cached credentials and restore
123
+ GOOGLE_APPLICATION_CREDENTIALS fallback by @luisfelipe-alt in
124
+ [#28472](https://github.com/google-gemini/gemini-cli/pull/28472)
125
+ - feat(evals): add eval coverage report command by @ved015 in
126
+ [#28169](https://github.com/google-gemini/gemini-cli/pull/28169)
127
+ - Changelog for v0.53.0-preview.0 by @gemini-cli-robot in
128
+ [#28507](https://github.com/google-gemini/gemini-cli/pull/28507)
129
+ - Changelog for v0.52.0 by @gemini-cli-robot in
130
+ [#28508](https://github.com/google-gemini/gemini-cli/pull/28508)
131
+ - chore(release): bump version to 0.54.0-nightly.20260722.gf743ab579 by
132
+ @gemini-cli-robot in
133
+ [#28510](https://github.com/google-gemini/gemini-cli/pull/28510)
134
+ - fix(caretaker): sanitize and wrap issue title in untrusted_context by @chadd28
135
+ in [#28352](https://github.com/google-gemini/gemini-cli/pull/28352)
136
+ - chore(caretaker): update vitest to v3.2.4 and add package-lock.json files by
137
+ @chadd28 in [#28409](https://github.com/google-gemini/gemini-cli/pull/28409)
138
+ - fix(core): rotate session ID on model fallback to prevent stateful API errors
139
+ by @amelidev in
140
+ [#28469](https://github.com/google-gemini/gemini-cli/pull/28469)
141
+ - feat(caretaker-triage): post comment before auto-closing issues by @chadd28 in
142
+ [#28411](https://github.com/google-gemini/gemini-cli/pull/28411)
143
+ - fix(core): enforce HTTPS for GoogleCredentialsAuthProvider to prevent
144
+ cleartext leakage by @amelidev in
145
+ [#28517](https://github.com/google-gemini/gemini-cli/pull/28517)
146
+ - fix(core): filter out thought parts from getHistoryTurns when context
147
+ management is disabled by @DavidAPierce in
148
+ [#28509](https://github.com/google-gemini/gemini-cli/pull/28509)
149
+ - fix(a2a-server): normalize CRLF line endings to LF in getProposedContent by
150
+ @luisfelipe-alt in
151
+ [#28531](https://github.com/google-gemini/gemini-cli/pull/28531)
152
+ - fix(core): enforce explicit tag length and validation in file keychain by
153
+ @luisfelipe-alt in
154
+ [#28523](https://github.com/google-gemini/gemini-cli/pull/28523)
155
+ - chore/release: bump version to 0.54.0-nightly.20260728.gbef611950 by
156
+ @gemini-cli-robot in
157
+ [#28552](https://github.com/google-gemini/gemini-cli/pull/28552)
158
+ - feat(pr-generator-db): implement Firestore concurrency dual-locking and test
159
+ ingestion utilities by @joneba-google in
160
+ [#28432](https://github.com/google-gemini/gemini-cli/pull/28432)
161
+ - feat(pr-generator-agent): implement Antigravity agent runner and prompt
162
+ templates … by @joneba-google in
163
+ [#28434](https://github.com/google-gemini/gemini-cli/pull/28434)
164
+ - fix(core): skip merged function-response turns when finding the active loop by
165
+ @adamfweidman in
166
+ [#28565](https://github.com/google-gemini/gemini-cli/pull/28565)
167
+ - chore(release): bump version to 0.55.0-nightly.20260728.gd29268d36 by
168
+ @gemini-cli-robot in
169
+ [#28569](https://github.com/google-gemini/gemini-cli/pull/28569)
170
+ - Changelog for v0.54.0-preview.0 by @gemini-cli-robot in
171
+ [#28567](https://github.com/google-gemini/gemini-cli/pull/28567)
172
+ - Changelog for v0.53.0 by @gemini-cli-robot in
173
+ [#28568](https://github.com/google-gemini/gemini-cli/pull/28568)
174
+ - chore/release: bump version to 0.55.0-nightly.20260729.g3499c84f7 by
175
+ @gemini-cli-robot in
176
+ [#28573](https://github.com/google-gemini/gemini-cli/pull/28573)
177
+ - fix(core): classify capacity exhaustion as terminal to prevent retry hangs by
178
+ @luisfelipe-alt in
179
+ [#28599](https://github.com/google-gemini/gemini-cli/pull/28599)
180
+ - fix(core,cli): propagate InvalidStreamError details to UI for specific empty
181
+ response guidance by @DavidAPierce in
182
+ [#28566](https://github.com/google-gemini/gemini-cli/pull/28566)
183
+ - fix(cli): fall back to embedded macOS seatbelt profiles if missing by
184
+ @amelidev in [#28551](https://github.com/google-gemini/gemini-cli/pull/28551)
185
+ - feat(pr-generator-core): add environment config parser, command executor,
186
+ GitHub R… by @joneba-google in
187
+ [#28435](https://github.com/google-gemini/gemini-cli/pull/28435)
188
+ - feat(pr-generator-orchestrator): implement iterative bug-fixing state machine
189
+ and container worker entrypoint by @joneba-google in
190
+ [#28433](https://github.com/google-gemini/gemini-cli/pull/28433)
191
+ - feat(pr-generator-infra): configure Cloud Run job, Workflows definition, and
192
+ Dockerfile by @joneba-google in
193
+ [#28431](https://github.com/google-gemini/gemini-cli/pull/28431)
194
+ - fix(release): handle npm dist-tag deletion failures on registries that forbid
195
+ it by @DavidAPierce in
196
+ [#28694](https://github.com/google-gemini/gemini-cli/pull/28694)
197
+ - fix(core): stop a new user message fusing into an unanswered tool response by
198
+ @adamfweidman in
199
+ [#28700](https://github.com/google-gemini/gemini-cli/pull/28700)
200
+ - fix(core,cli): repair /compress session reload and quota-fallback tool
201
+ response loss by @adamfweidman in
202
+ [#28672](https://github.com/google-gemini/gemini-cli/pull/28672)
203
+ - fix(core): preserve functionCall thoughtSignature when stripping thought parts
204
+ by @sarbojitrana in
205
+ [#28607](https://github.com/google-gemini/gemini-cli/pull/28607)
206
+ - fix(core): unwrap and parse nested gaxios streaming errors from cause message
207
+ by @luisfelipe-alt in
208
+ [#28689](https://github.com/google-gemini/gemini-cli/pull/28689)
209
+ - Changelog for v0.55.0-preview.1 by @gemini-cli-robot in
210
+ [#28706](https://github.com/google-gemini/gemini-cli/pull/28706)
211
+ - chore(release): bump version to 0.56.0-nightly.20260806.g761f604c1 by
212
+ @gemini-cli-robot in
213
+ [#28707](https://github.com/google-gemini/gemini-cli/pull/28707)
214
+ - Changelog for v0.54.0 by @gemini-cli-robot in
215
+ [#28708](https://github.com/google-gemini/gemini-cli/pull/28708)
216
+ - Reclassifying Capacity Exhaustion as Terminal Error by @luisfelipe-alt in
217
+ [#28716](https://github.com/google-gemini/gemini-cli/pull/28716)
218
+ - feat(caretaker): update Firestore schema with error, and pr_number fields by
219
+ @chadd28 in [#28467](https://github.com/google-gemini/gemini-cli/pull/28467)
220
+ - feat(caretaker-triage): prompt hill-climbing & orchestrator updates by
221
+ @chadd28 in [#28524](https://github.com/google-gemini/gemini-cli/pull/28524)
222
+ - feat(caretaker): add triage Cloud Run job workflow by @chadd28 in
223
+ [#28468](https://github.com/google-gemini/gemini-cli/pull/28468)
224
+ - feat(caretaker-evals): add triage evaluation framework and judge runner by
225
+ @chadd28 in [#28530](https://github.com/google-gemini/gemini-cli/pull/28530)
226
+ - feat(caretaker-evals): add local golden issue collection and firestore sync
227
+ tools by @chadd28 in
228
+ [#28532](https://github.com/google-gemini/gemini-cli/pull/28532)
229
+ - feat(caretaker): publish workable spec event to ready-for-code Pub/Sub topic
230
+ by @chadd28 in
231
+ [#28588](https://github.com/google-gemini/gemini-cli/pull/28588)
232
+ - feat(caretaker): add GCP deployment script for caretaker agent services by
233
+ @chadd28 in [#28529](https://github.com/google-gemini/gemini-cli/pull/28529)
234
+ - feat(caretaker-evals): add Cloud Run job entrypoint for eval runner by
235
+ @chadd28 in [#28727](https://github.com/google-gemini/gemini-cli/pull/28727)
236
+ - fix(caretaker): clear lock on NEEDS_HUMAN transition by @chadd28 in
237
+ [#28601](https://github.com/google-gemini/gemini-cli/pull/28601)
238
+ - feat(ingestion): add issue comment handling and re-triage workflow by @chadd28
239
+ in [#28690](https://github.com/google-gemini/gemini-cli/pull/28690)
240
+ - fix(core): refresh MCP OAuth tokens with the stored client ID by
241
+ @ParthivNaresh in
242
+ [#28481](https://github.com/google-gemini/gemini-cli/pull/28481)
243
+ - fix(core,cli): resolve false model capacity exhaustion and fix core quota
244
+ lookup model mapping by @DavidAPierce in
245
+ [#28730](https://github.com/google-gemini/gemini-cli/pull/28730)
246
+ - feat(evals): add local report command and developer documentation by @ved015
247
+ in [#28369](https://github.com/google-gemini/gemini-cli/pull/28369)
248
+ - fix(core): dynamically resolve Cloud Workstations proxy redirect URI for OAuth
249
+ flows by @amelidev in
250
+ [#28688](https://github.com/google-gemini/gemini-cli/pull/28688)
30
251
  - Changelog for v0.53.0-preview.0 by @gemini-cli-robot in
31
252
  [#28507](https://github.com/google-gemini/gemini-cli/pull/28507)
32
253
  - Changelog for v0.52.0 by @gemini-cli-robot in
@@ -73,4 +294,4 @@ npm install -g @google/gemini-cli
73
294
  [#28609](https://github.com/google-gemini/gemini-cli/pull/28609)
74
295
 
75
296
  **Full Changelog**:
76
- https://github.com/google-gemini/gemini-cli/compare/v0.53.1...v0.54.0
297
+ https://github.com/google-gemini/gemini-cli/compare/v0.53.1...v0.55.1
@@ -131,7 +131,7 @@ following authentication options:
131
131
 
132
132
  Regardless of your authentication method for Vertex AI, you'll need to set
133
133
  `GOOGLE_CLOUD_PROJECT` to your Google Cloud project ID with the Vertex AI API
134
- enabled, and `GOOGLE_CLOUD_LOCATION` to the location of your Vertex AI resources
134
+ enabled, and `GOOGLE_CLOUD_LOCATION` to the [location of your Vertex AI resources](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations)
135
135
  or the location where you want to run your jobs.
136
136
 
137
137
  For example:
@@ -101,11 +101,13 @@ Slash commands provide meta-level control over the CLI itself.
101
101
 
102
102
  ### `/clear`
103
103
 
104
- - **Description:** Clear the terminal screen, including the visible session
105
- history and scrollback within the CLI. The underlying session data (for
106
- history recall) might be preserved depending on the exact implementation, but
107
- the visual display is cleared.
108
- - **Keyboard shortcut:** Press **Ctrl+L** at any time to perform a clear action.
104
+ - **Description:** Clear the agent conversation context (active conversation
105
+ history) and start a new session, in addition to clearing the visible terminal
106
+ screen, history, and scrollback within the CLI.
107
+ - **Keyboard shortcut:** Press **Ctrl+L** at any time to perform a visual clear
108
+ action (note that **Ctrl+L** only clears the terminal display and redraws the
109
+ UI, preserving the active conversation context; use `/clear` to start a new
110
+ session).
109
111
 
110
112
  ### `/commands`
111
113
 
@@ -116,6 +116,7 @@ export class LegacyAgentProtocol {
116
116
  let currentDisplayContent = initialDisplayContent;
117
117
  let turnCount = 0;
118
118
  const maxTurns = this._config.getMaxSessionTurns();
119
+ let isAfterToolResponse = false;
119
120
  while (true) {
120
121
  turnCount++;
121
122
  if (maxTurns >= 0 && turnCount > maxTurns) {
@@ -128,6 +129,7 @@ export class LegacyAgentProtocol {
128
129
  }
129
130
  const toolCallRequests = [];
130
131
  let finishedReason = undefined;
132
+ let hasVisibleText = false;
131
133
  const responseStream = this._client.sendMessageStream(currentParts, this._abortController.signal, this._promptId, undefined, currentDisplayContent);
132
134
  currentDisplayContent = undefined;
133
135
  for await (const event of responseStream) {
@@ -138,6 +140,11 @@ export class LegacyAgentProtocol {
138
140
  if (event.type === GeminiEventType.ToolCallRequest) {
139
141
  toolCallRequests.push(event.value);
140
142
  }
143
+ if (event.type === GeminiEventType.Content) {
144
+ if (typeof event.value === 'string' && event.value.trim() !== '') {
145
+ hasVisibleText = true;
146
+ }
147
+ }
141
148
  this._emit(translateEvent(event, this._translationState));
142
149
  switch (event.type) {
143
150
  case GeminiEventType.Error:
@@ -162,6 +169,12 @@ export class LegacyAgentProtocol {
162
169
  return;
163
170
  }
164
171
  if (toolCallRequests.length === 0) {
172
+ if (isAfterToolResponse && !hasVisibleText) {
173
+ const nudgeMessage = '[System: You successfully executed a tool but returned an empty response. Please analyze the tool output and explain your progress or final answer.]';
174
+ currentParts = [{ text: nudgeMessage }];
175
+ isAfterToolResponse = false;
176
+ continue;
177
+ }
165
178
  if (finishedReason !== undefined) {
166
179
  this._finishStream(mapFinishReason(finishedReason));
167
180
  }
@@ -226,6 +239,7 @@ export class LegacyAgentProtocol {
226
239
  return;
227
240
  }
228
241
  currentParts = toolResponseParts;
242
+ isAfterToolResponse = completedToolCalls.length > 0;
229
243
  }
230
244
  }
231
245
  _emit(events) {
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-agent-session.js","sourceRoot":"","sources":["../../../src/agent/legacy-agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legacy-agent-session.js","sourceRoot":"","sources":["../../../src/agent/legacy-agent-session.ts"],"names":[],"mappings":"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"}
@@ -408,6 +408,58 @@ describe('LegacyAgentSession', () => {
408
408
  expect(streamEnd?.reason).toBe('failed');
409
409
  expect(sendMock).toHaveBeenCalledTimes(1);
410
410
  });
411
+ it('nudges the model if it returns an empty response after a tool execution', async () => {
412
+ const sendMock = deps.client.sendMessageStream;
413
+ // First turn: model requests a tool
414
+ sendMock.mockReturnValueOnce(makeStream([
415
+ {
416
+ type: GeminiEventType.ToolCallRequest,
417
+ value: makeToolRequest('call-1', 'read_file'),
418
+ },
419
+ {
420
+ type: GeminiEventType.Finished,
421
+ value: { reason: FinishReason.STOP, usageMetadata: undefined },
422
+ },
423
+ ]));
424
+ // Second turn: model goes silent (returns empty text response, no tool calls)
425
+ sendMock.mockReturnValueOnce(makeStream([
426
+ {
427
+ type: GeminiEventType.Finished,
428
+ value: { reason: FinishReason.STOP, usageMetadata: undefined },
429
+ },
430
+ ]));
431
+ // Third turn (retry after nudge): model finally provides final answer
432
+ sendMock.mockReturnValueOnce(makeStream([
433
+ { type: GeminiEventType.Content, value: 'Analysis completed.' },
434
+ {
435
+ type: GeminiEventType.Finished,
436
+ value: { reason: FinishReason.STOP, usageMetadata: undefined },
437
+ },
438
+ ]));
439
+ const scheduleMock = deps.scheduler.schedule;
440
+ scheduleMock.mockResolvedValueOnce([
441
+ makeCompletedToolCall('call-1', 'read_file', 'file contents'),
442
+ ]);
443
+ const session = new LegacyAgentSession(deps);
444
+ await session.send(makeMessageSend('read a file'));
445
+ const events = await collectEvents(session);
446
+ const types = events.map((e) => e.type);
447
+ expect(types).toContain('tool_request');
448
+ expect(types).toContain('tool_response');
449
+ expect(types).toContain('agent_end');
450
+ // The nudged turn should have called sendMessageStream a third time!
451
+ expect(sendMock).toHaveBeenCalledTimes(3);
452
+ // Verify that the third call received the correct system nudge message
453
+ expect(sendMock).toHaveBeenLastCalledWith([
454
+ {
455
+ text: '[System: You successfully executed a tool but returned an empty response. Please analyze the tool output and explain your progress or final answer.]',
456
+ },
457
+ ], expect.any(AbortSignal), expect.any(String), undefined, undefined);
458
+ const messages = events.filter((e) => e.type === 'message' && e.role === 'agent');
459
+ expect(messages.some((m) => m.content[0] &&
460
+ 'text' in m.content[0] &&
461
+ m.content[0].text === 'Analysis completed.')).toBe(true);
462
+ });
411
463
  });
412
464
  describe('stream - terminal events', () => {
413
465
  it('handles AgentExecutionStopped', async () => {