Commit Graph

35 Commits

Author SHA1 Message Date
Dmitry Lyalin a4b3229513 feat(headless): surface diagnostic monitoring data in non-interactive output
When running Gemini CLI in headless mode (-p), critical diagnostic data
like auth method, API retry attempts, loop detection, and request stats
was invisible despite being tracked internally. This change surfaces
that data across all three output formats (stream-json, json, text).

Changes:
- Add RETRY and LOOP_DETECTED event types to stream-json output
- Include auth_method and user_tier in init events and JSON output
- Add api_requests, api_errors, and retry_count to result stats
- Track and expose detected loop type (tool call, chanting, LLM-detected)
- Emit [RETRY] and [WARNING] messages to stderr in text mode
- Listen to CoreEvent.RetryAttempt in non-interactive CLI
- Add test script (scripts/test_gemini.sh) for manual verification
2026-02-24 23:37:39 -08:00
Abhi acb7f577de chore(lint): fix lint errors seen when running npm run lint (#19844) 2026-02-21 18:33:25 +00:00
Yuna Seol 8aca3068cf feat: add role-specific statistics to telemetry and UI (cont. #15234) (#18824)
Co-authored-by: Yuna Seol <yunaseol@google.com>
2026-02-17 17:32:30 +00:00
Sandy Tao 9c285eaf15 fix(core): Prevent loop detection false positives on lists with long shared prefixes (#18975) 2026-02-13 10:58:46 -08:00
Christian Gunderman fd65416a2f Disallow unsafe type assertions (#18688) 2026-02-10 00:10:15 +00:00
Sandy Tao e860f517c0 feat(core): add setting to disable loop detection (#18008) 2026-02-02 18:13:20 +00:00
Adam Weidman bf6d0485ce chore(core): remove legacy fallback flags and migrate loop detection (#15213) 2025-12-17 22:14:33 +00:00
Christian Gunderman 942bcfc61e Disallow redundant typecasts. (#15030) 2025-12-13 01:43:43 +00:00
CHAEWAN KIM f4babf172b fix(async): prevent missed async errors from bypassing catch handlers (#13714)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
2025-12-01 22:11:40 +00:00
Sandy Tao 408b885689 feat(core): enhance loop detection with 2-stage check (#12902) 2025-11-12 04:49:00 +00:00
joshualitt fdb6088603 feat(core): Migrate generateJson to resolved model configs. (#12626) 2025-11-07 22:18:45 +00:00
Sandy Tao f0c3c81e94 fix(core): Improve loop detection for longer repeating patterns (#12505) 2025-11-04 02:06:22 +00:00
Sandy Tao 11e1e98022 fix(core): ensure loop detection respects session disable flag (#12347) 2025-10-31 16:06:10 +00:00
Sandy Tao 4ef3c09332 fix(core): update loop detection LLM schema fields (#12091) 2025-10-27 19:16:25 +00:00
Sandy Tao a2d7f82b49 fix(core): Prepend user message to loop detection history if it starts with a function call (#11860) 2025-10-25 04:22:26 +00:00
Sandy Tao 7e2642b9f1 fix(core): use debugLogger.warn for loop detection errors (#11986) 2025-10-24 21:00:05 +00:00
Abhi b364f37655 refactor(logging): Centralize console logging with debugLogger (#11590) 2025-10-21 20:35:22 +00:00
Sandy Tao f7ff26ba65 feat(logging): Add clearcut logging for disabling loop detection (#8503) 2025-09-15 21:12:39 +00:00
Abhi 12720a9fa7 refactor(core): Use BaseLlmClient for LLM-based loop detection (#8427) 2025-09-14 03:07:33 +00:00
Sandy Tao 78744cfbca feat(ui): Add confirmation dialog for disabling loop detection for current session (#8231) 2025-09-11 05:20:13 +00:00
anthony bushong c31e37b30e fix(core): tend to history with dangling function calls/responses (#7692) 2025-09-04 07:24:42 +00:00
Pascal Birchler 0f031a7f89 Explict imports & exports with type modifier (#3774) 2025-08-25 22:04:53 +00:00
Pascal Birchler ee4feea006 chore: consistently import node modules with prefix (#3013)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-08-25 20:11:27 +00:00
Sandy Tao da73f13d02 fix(core): Skip loop check for dividers (#6893) 2025-08-23 00:08:16 +00:00
Richie Foreman 2998f27f70 chore(compiler): Enable strict property access TS compiler flag. (#6255)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-08-17 16:43:21 +00:00
Sandy Tao 26fe587b44 skip loop check if it is currently inside a loop (#6022) 2025-08-11 23:45:31 +00:00
Wanlin Du f52d073dfb chore: migrate from responseSchema to use responseJsonSchema. (#4814) 2025-08-11 23:04:58 +00:00
Sandy Tao e8815ba43c feat(quality): Reset when seeing a new type of Markdown element (#5820) 2025-08-08 00:21:42 +00:00
Sandy Tao 8985e489a5 Skip and reset loop checking around code blocks (#5144) 2025-07-30 04:05:03 +00:00
Sandy Tao d76cedb68f Implement hashing based loop detection (#4831) 2025-07-25 19:53:19 +00:00
Sandy Tao 0ef9c0b792 Log prompt id when a loop is detected (#4765)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-24 05:37:28 +00:00
Sandy Tao 9dadf22958 Implement loop check with LLM (#4337)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-18 16:33:46 +00:00
Sandy Tao ac8e98511e Fix resetting loop counts on every other event (#4348) 2025-07-17 05:32:48 +00:00
Sandy Tao 886faa2990 Log the 2 types of loop detection (#4193) 2025-07-15 04:44:07 +00:00
Sandy Tao 734da8b9d2 Introduce loop detection service that breaks simple loop (#3919)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-15 03:25:16 +00:00