@google/gemini-cli-core 0.52.0 → 0.54.0-nightly.20260725.g3818efbbf

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 (67) hide show
  1. package/dist/docs/CONTRIBUTING.md +3 -3
  2. package/dist/docs/changelogs/index.md +20 -0
  3. package/dist/docs/changelogs/latest.md +53 -18
  4. package/dist/docs/changelogs/preview.md +35 -46
  5. package/dist/docs/cli/sandbox.md +3 -2
  6. package/dist/docs/reference/configuration.md +4 -4
  7. package/dist/google-gemini-cli-core-0.54.0-nightly.20260722.gf743ab579.tgz +0 -0
  8. package/dist/src/agents/auth-provider/credential-leak-prevention.test.d.ts +6 -0
  9. package/dist/src/agents/auth-provider/credential-leak-prevention.test.js +66 -0
  10. package/dist/src/agents/auth-provider/credential-leak-prevention.test.js.map +1 -0
  11. package/dist/src/agents/auth-provider/google-credentials-provider.js +5 -1
  12. package/dist/src/agents/auth-provider/google-credentials-provider.js.map +1 -1
  13. package/dist/src/agents/auth-provider/google-credentials-provider.test.js +4 -0
  14. package/dist/src/agents/auth-provider/google-credentials-provider.test.js.map +1 -1
  15. package/dist/src/availability/autoRoutingFallback.integration.test.js +56 -0
  16. package/dist/src/availability/autoRoutingFallback.integration.test.js.map +1 -1
  17. package/dist/src/code_assist/oauth2.js +92 -59
  18. package/dist/src/code_assist/oauth2.js.map +1 -1
  19. package/dist/src/code_assist/oauth2.test.js +39 -0
  20. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  21. package/dist/src/code_assist/server.d.ts +1 -0
  22. package/dist/src/code_assist/server.js +7 -4
  23. package/dist/src/code_assist/server.js.map +1 -1
  24. package/dist/src/config/config.d.ts +3 -0
  25. package/dist/src/config/config.js +5 -0
  26. package/dist/src/config/config.js.map +1 -1
  27. package/dist/src/core/client.test.js +1 -1
  28. package/dist/src/core/client.test.js.map +1 -1
  29. package/dist/src/core/contentGenerator.js +12 -10
  30. package/dist/src/core/contentGenerator.js.map +1 -1
  31. package/dist/src/core/geminiChat.d.ts +2 -0
  32. package/dist/src/core/geminiChat.js +62 -9
  33. package/dist/src/core/geminiChat.js.map +1 -1
  34. package/dist/src/core/geminiChat.test.js +224 -1
  35. package/dist/src/core/geminiChat.test.js.map +1 -1
  36. package/dist/src/fallback/handler.js +4 -2
  37. package/dist/src/fallback/handler.js.map +1 -1
  38. package/dist/src/fallback/handler.test.js +1 -0
  39. package/dist/src/fallback/handler.test.js.map +1 -1
  40. package/dist/src/generated/git-commit.d.ts +2 -2
  41. package/dist/src/generated/git-commit.js +2 -2
  42. package/dist/src/generated/git-commit.js.map +1 -1
  43. package/dist/src/safety/checker-runner.js +2 -0
  44. package/dist/src/safety/checker-runner.js.map +1 -1
  45. package/dist/src/safety/checker-runner.test.js +4 -0
  46. package/dist/src/safety/checker-runner.test.js.map +1 -1
  47. package/dist/src/safety/context-builder.d.ts +1 -0
  48. package/dist/src/safety/context-builder.js +3 -0
  49. package/dist/src/safety/context-builder.js.map +1 -1
  50. package/dist/src/services/loopDetectionService.d.ts +1 -2
  51. package/dist/src/services/loopDetectionService.js +27 -12
  52. package/dist/src/services/loopDetectionService.js.map +1 -1
  53. package/dist/src/services/loopDetectionService.test.js +72 -0
  54. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  55. package/dist/src/services/shellExecutionService.d.ts +1 -0
  56. package/dist/src/services/shellExecutionService.js +4 -3
  57. package/dist/src/services/shellExecutionService.js.map +1 -1
  58. package/dist/src/tools/shell.js +1 -0
  59. package/dist/src/tools/shell.js.map +1 -1
  60. package/dist/src/tools/trackerTools.test.js +3 -1
  61. package/dist/src/tools/trackerTools.test.js.map +1 -1
  62. package/dist/src/utils/editor.js +5 -0
  63. package/dist/src/utils/editor.js.map +1 -1
  64. package/dist/src/utils/editor.test.js +3 -0
  65. package/dist/src/utils/editor.test.js.map +1 -1
  66. package/dist/tsconfig.tsbuildinfo +1 -1
  67. package/package.json +1 -1
@@ -421,9 +421,9 @@ To debug the CLI's React-based UI, you can use React DevTools.
421
421
 
422
422
  On macOS, `gemini` uses Seatbelt (`sandbox-exec`) under a `permissive-open`
423
423
  profile (see `packages/cli/src/utils/sandbox-macos-permissive-open.sb`) that
424
- restricts writes to the project folder but otherwise allows all other operations
425
- and outbound network traffic ("open") by default. You can switch to a
426
- `strict-open` profile (see
424
+ denies operations by default, confining writes to the project folder while
425
+ allowing broad file reads and outbound network traffic ("open") by default. You
426
+ can switch to a `strict-open` profile (see
427
427
  `packages/cli/src/utils/sandbox-macos-strict-open.sb`) that restricts both reads
428
428
  and writes to the working directory while allowing outbound network traffic by
429
429
  setting `SEATBELT_PROFILE=strict-open` in your environment or `.env` file.
@@ -18,6 +18,26 @@ on GitHub.
18
18
  | [Preview](preview.md) | Experimental features ready for early feedback. |
19
19
  | [Stable](latest.md) | Stable, recommended for general use. |
20
20
 
21
+ ## Announcements: v0.52.0 - 2026-07-22
22
+
23
+ - **Caretaker Triage & Egress Services:** Implemented the core triage worker
24
+ foundational modules, main worker execution loops, and egress action
25
+ publishers alongside the octokit GitHub Action handler for egress services
26
+ ([#28163](https://github.com/google-gemini/gemini-cli/pull/28163),
27
+ [#28306](https://github.com/google-gemini/gemini-cli/pull/28306) by @chadd28).
28
+ - **Core Tool Enhancements:** Bypassed LLM correction for JSON and IPYNB files
29
+ in `write_file` and `replace` tools, and simplified plan mode write policy to
30
+ support relative paths
31
+ ([#28223](https://github.com/google-gemini/gemini-cli/pull/28223) by
32
+ @amelidev, [#28398](https://github.com/google-gemini/gemini-cli/pull/28398) by
33
+ @DavidAPierce).
34
+ - **Auth & Privacy Improvements:** Displayed clear error messages when user
35
+ account has no Code Assist tier, and bumped `google-auth-library` to version
36
+ 10.9.0 ([#28304](https://github.com/google-gemini/gemini-cli/pull/28304) by
37
+ @ompatel-aiml,
38
+ [#28385](https://github.com/google-gemini/gemini-cli/pull/28385) by
39
+ @jerrylin3321).
40
+
21
41
  ## Announcements: v0.50.0 - 2026-07-08
22
42
 
23
43
  - **Tool Registry Discovery:** Introduced tool registry discovery capabilities
@@ -1,6 +1,6 @@
1
- # Latest stable release: v0.50.0
1
+ # Latest stable release: v0.52.0
2
2
 
3
- Released: July 08, 2026
3
+ Released: July 22, 2026
4
4
 
5
5
  For most users, our latest stable release is the recommended release. Install
6
6
  the latest stable version with:
@@ -11,24 +11,59 @@ npm install -g @google/gemini-cli
11
11
 
12
12
  ## Highlights
13
13
 
14
- - **Tool Registry Discovery:** Introduced tool registry discovery capabilities,
15
- enabling automatic detection and registration of tools to improve
16
- extensibility.
17
- - **Release Verification Improvements:** Enhanced release verification by
18
- ignoring scripts during `npm ci` and preventing workspace binary shadowing.
19
- - **CI Pipeline Safeguards:** Strengthened the CI pipeline to prevent bad NPM
20
- releases and ensure promote job failures are correctly surfaced.
14
+ - **Caretaker Services:** Introduced a new caretaker triage worker including
15
+ core foundational modules, main worker execution loops, egress action
16
+ publishers, and octokit GitHub Action handlers.
17
+ - **Robust File Editing:** Core tools like `write_file` and `replace` now bypass
18
+ LLM corrections for JSON and IPYNB files to ensure accurate and direct file
19
+ modifications.
20
+ - **Plan Mode Improvements:** Simplified plan mode write policies to natively
21
+ support writing to relative paths, enhancing project directory navigation.
22
+ - **Enhanced Account Visibility:** Improved clear user-facing messages when the
23
+ user account does not have a Code Assist tier, and enriched shared project
24
+ quota limit errors with setup instructions.
21
25
 
22
26
  ## What's Changed
23
27
 
24
- - fix/verify release npm ci ignore scripts by @rmedranollamas in
25
- [#28116](https://github.com/google-gemini/gemini-cli/pull/28116)
26
- - fix(ci): prevent workspace binary shadowing in release verification by
27
- @galdawave in [#28132](https://github.com/google-gemini/gemini-cli/pull/28132)
28
- - Feat/tool registry discovery by @ved015 in
29
- [#28113](https://github.com/google-gemini/gemini-cli/pull/28113)
30
- - fix(ci): prevent bad NPM releases and promote job crashes by @galdawave in
31
- [#28147](https://github.com/google-gemini/gemini-cli/pull/28147)
28
+ - Refactor: exclude transient CI configuration files from workspace context by
29
+ @DavidAPierce in
30
+ [#28216](https://github.com/google-gemini/gemini-cli/pull/28216)
31
+ - feat(caretaker-triage): add triage worker core foundational modules by
32
+ @chadd28 in [#28163](https://github.com/google-gemini/gemini-cli/pull/28163)
33
+ - feat(caretaker-egress): implement octokit github action handler for egress
34
+ service by @chadd28 in
35
+ [#28303](https://github.com/google-gemini/gemini-cli/pull/28303)
36
+ - chore(release): bump version to 0.52.0-nightly.20260707.g27a3da3e8 by
37
+ @gemini-cli-robot in
38
+ [#28323](https://github.com/google-gemini/gemini-cli/pull/28323)
39
+ - Changelog for v0.51.0-preview.0 by @gemini-cli-robot in
40
+ [#28320](https://github.com/google-gemini/gemini-cli/pull/28320)
41
+ - Changelog for v0.50.0 by @gemini-cli-robot in
42
+ [#28322](https://github.com/google-gemini/gemini-cli/pull/28322)
43
+ - fix(core-tools): bypass LLM correction for JSON and IPYNB files in write_file
44
+ and replace by @amelidev in
45
+ [#28223](https://github.com/google-gemini/gemini-cli/pull/28223)
46
+ - fix(core): use unambiguous previous intent label in fallback summary by
47
+ @amelidev in [#28343](https://github.com/google-gemini/gemini-cli/pull/28343)
48
+ - feat(caretaker-triage): implement main worker execution loop and egress action
49
+ publisher by @chadd28 in
50
+ [#28306](https://github.com/google-gemini/gemini-cli/pull/28306)
51
+ - fix(privacy): show a clear message when the account has no Code Assist tier by
52
+ @ompatel-aiml in
53
+ [#28304](https://github.com/google-gemini/gemini-cli/pull/28304)
54
+ - fix(core): enrich shared project quota limit errors with setup hint by
55
+ @amelidev in [#28391](https://github.com/google-gemini/gemini-cli/pull/28391)
56
+ - fix(a2a-server): ensure task cancellation aborts execution loop by
57
+ @luisfelipe-alt in
58
+ [#28316](https://github.com/google-gemini/gemini-cli/pull/28316)
59
+ - fix(core): simplify plan mode write policy to support relative paths by
60
+ @DavidAPierce in
61
+ [#28398](https://github.com/google-gemini/gemini-cli/pull/28398)
62
+ - feat(core): Bump node google-auth-library version to 10.9.0 by @jerrylin3321
63
+ in [#28385](https://github.com/google-gemini/gemini-cli/pull/28385)
64
+ - chore/release: bump version to 0.52.0-nightly.20260715.gfa975395b by
65
+ @gemini-cli-robot in
66
+ [#28402](https://github.com/google-gemini/gemini-cli/pull/28402)
32
67
 
33
68
  **Full Changelog**:
34
- https://github.com/google-gemini/gemini-cli/compare/v0.49.0...v0.50.0
69
+ https://github.com/google-gemini/gemini-cli/compare/v0.51.0...v0.52.0
@@ -1,6 +1,6 @@
1
- # Preview release: v0.51.0-preview.0
1
+ # Preview release: v0.53.0-preview.0
2
2
 
3
- Released: July 8, 2026
3
+ Released: July 22, 2026
4
4
 
5
5
  Our preview release includes the latest, new, and experimental features. This
6
6
  release may not be as stable as our [latest weekly release](latest.md).
@@ -13,53 +13,42 @@ npm install -g @google/gemini-cli@preview
13
13
 
14
14
  ## Highlights
15
15
 
16
- - **Caretaker Cloud Run Services**: Implemented a Cloud Run webhook ingestion
17
- service and egress service skeleton to support advanced caretaker features.
18
- - **Enhanced Security & Sandbox Hardening**: Enforced a case-insensitive
19
- sensitive path blocklist and VS Code human-in-the-loop (HITL) checks, resolved
20
- a directory escape vulnerability in the memory import processor, and marked
21
- `~/.gitconfig` as read-only within the macOS sandbox.
22
- - **Improved Thought Leakage and Escape Handling**: Resolved potential thought
23
- leakage by stripping thinking/thought processes from scrubbed history turns,
24
- and ensured escape sequences in string literals are correctly preserved for
25
- modern models.
26
- - **Robust Path & API Updates**: Enhanced defensive path resolution for
27
- at-reference files, and updated the Vertex AI base URL configuration to
28
- support the latest API updates.
16
+ - **Caretaker LLM Triage Orchestrator**: Implemented the LLM triage orchestrator
17
+ and container build configuration to support caretaker triage workflows.
18
+ - **Enhanced Workspace Trust & Sandbox Hardening**: Aligned macOS permissive
19
+ Seatbelt profiles with the deny-default model and enforced workspace trust and
20
+ task isolation in the Agent-to-Agent (A2A) server to prevent remote code
21
+ execution (RCE).
22
+ - **Core Robustness & API Protections**: Mitigated infinite ReAct and prompt
23
+ injection loops, and prevented 400 Bad Request errors by grouping cancelled
24
+ tool responses and coalescing consecutive roles.
25
+ - **Robust Credentials & Fallbacks**: Restored the
26
+ `GOOGLE_APPLICATION_CREDENTIALS` environment variable fallback and
27
+ sequentially verified cached credentials.
28
+ - **Evaluation Coverage Reporting**: Added a new command to generate
29
+ comprehensive eval coverage reports.
29
30
 
30
31
  ## What's Changed
31
32
 
32
- - Changelog for v0.50.0-preview.1 by @gemini-cli-robot in
33
- [#28150](https://github.com/google-gemini/gemini-cli/pull/28150)
34
- - Fix no_proxy test by @jerrylin3321 in
35
- [#28131](https://github.com/google-gemini/gemini-cli/pull/28131)
36
- - chore(release): bump version to 0.51.0-nightly.20260625.g3fbf93e26 by
37
- @gemini-cli-robot in
38
- [#28151](https://github.com/google-gemini/gemini-cli/pull/28151)
39
- - Vertex base url update by @DavidAPierce in
40
- [#28145](https://github.com/google-gemini/gemini-cli/pull/28145)
41
- - fix(security): enforce case-insensitive sensitive path blocklist and vscode
42
- hitl by @luisfelipe-alt in
43
- [#27966](https://github.com/google-gemini/gemini-cli/pull/27966)
44
- - fix(core-tools): resolve defensive path resolution for at-reference files and
45
- fix macOS tests by @luisfelipe-alt in
46
- [#28053](https://github.com/google-gemini/gemini-cli/pull/28053)
47
- - feat(caretaker): implement Cloud Run webhook ingestion service by @chadd28 in
48
- [#28015](https://github.com/google-gemini/gemini-cli/pull/28015)
49
- - fix(core): resolve symbolic link directory escape in memory import processor
50
- by @luisfelipe-alt in
51
- [#28233](https://github.com/google-gemini/gemini-cli/pull/28233)
52
- - feat(caretaker): egress cloud run service skeleton by @chadd28 in
53
- [#28167](https://github.com/google-gemini/gemini-cli/pull/28167)
54
- - fix(sandbox): make ~/.gitconfig read-only in the macOS sandbox by
55
- @ompatel-aiml in
56
- [#28221](https://github.com/google-gemini/gemini-cli/pull/28221)
57
- - fix(core): preserve escape sequences in string literals for modern models by
33
+ - fix(core,a2a): group cancelled tool responses and coalesce consecutive roles
34
+ to prevent 400 Bad Request by @luisfelipe-alt in
35
+ [#28407](https://github.com/google-gemini/gemini-cli/pull/28407)
36
+ - feat(caretaker-triage): implement LLM triage orchestrator and container build
37
+ by @chadd28 in
38
+ [#28345](https://github.com/google-gemini/gemini-cli/pull/28345)
39
+ - refactor(cli): align macOS permissive Seatbelt profiles with deny-default
40
+ model by @ompatel-aiml in
41
+ [#28424](https://github.com/google-gemini/gemini-cli/pull/28424)
42
+ - fix(core): mitigate infinite ReAct loops and prompt injection loops by
43
+ @amelidev in [#28429](https://github.com/google-gemini/gemini-cli/pull/28429)
44
+ - fix(a2a-server): enforce workspace trust and task isolation to prevent RCE by
58
45
  @luisfelipe-alt in
59
- [#28299](https://github.com/google-gemini/gemini-cli/pull/28299)
60
- - fix(core): strip thoughts from scrubbed history turns and resolve thought
61
- leakage by @amelidev in
62
- [#27971](https://github.com/google-gemini/gemini-cli/pull/27971)
46
+ [#28470](https://github.com/google-gemini/gemini-cli/pull/28470)
47
+ - fix(core): sequentially verify cached credentials and restore
48
+ GOOGLE_APPLICATION_CREDENTIALS fallback by @luisfelipe-alt in
49
+ [#28472](https://github.com/google-gemini/gemini-cli/pull/28472)
50
+ - feat(evals): add eval coverage report command by @ved015 in
51
+ [#28169](https://github.com/google-gemini/gemini-cli/pull/28169)
63
52
 
64
53
  **Full Changelog**:
65
- https://github.com/google-gemini/gemini-cli/compare/v0.50.0-preview.1...v0.51.0-preview.0
54
+ https://github.com/google-gemini/gemini-cli/compare/v0.52.0-preview.0...v0.53.0-preview.0
@@ -87,8 +87,9 @@ preferred container solution.
87
87
 
88
88
  Lightweight, built-in sandboxing using `sandbox-exec`.
89
89
 
90
- **Default profile**: `permissive-open` - restricts writes outside project
91
- directory but allows most other operations.
90
+ **Default profile**: `permissive-open` - denies operations by default; confines
91
+ writes to the project directory while allowing broad file reads and network
92
+ access.
92
93
 
93
94
  Built-in profiles (set via `SEATBELT_PROFILE` env var):
94
95
 
@@ -2736,10 +2736,10 @@ the `advanced.excludedEnvVars` setting in your `settings.json` file.
2736
2736
  - Run the CLI once with this set to generate the file.
2737
2737
  - **`SEATBELT_PROFILE`** (macOS specific):
2738
2738
  - Switches the Seatbelt (`sandbox-exec`) profile on macOS.
2739
- - `permissive-open`: (Default) Restricts writes to the project folder (and a
2740
- few other folders, see
2741
- `packages/cli/src/utils/sandbox-macos-permissive-open.sb`) but allows other
2742
- operations.
2739
+ - `permissive-open`: (Default) Denies operations by default, confining writes
2740
+ to the project folder (and a few other folders, see
2741
+ `packages/cli/src/utils/sandbox-macos-permissive-open.sb`) while allowing
2742
+ broad file reads and network access.
2743
2743
  - `restrictive-open`: Declines operations by default, allows network.
2744
2744
  - `strict-open`: Restricts both reads and writes to the working directory,
2745
2745
  allows network.
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
7
+ import { GoogleCredentialsAuthProvider } from './google-credentials-provider.js';
8
+ import { GoogleAuth } from 'google-auth-library';
9
+ vi.mock('google-auth-library', () => ({
10
+ GoogleAuth: vi.fn(),
11
+ }));
12
+ describe('Credential Leak Prevention (RCA / PoC Verification)', () => {
13
+ const mockConfig = {
14
+ type: 'google-credentials',
15
+ };
16
+ beforeEach(() => {
17
+ vi.clearAllMocks();
18
+ GoogleAuth.mockImplementation(() => ({
19
+ getClient: vi.fn().mockResolvedValue({
20
+ getAccessToken: vi.fn().mockResolvedValue({ token: 'leaked-token' }),
21
+ credentials: { expiry_date: Date.now() + 3600 * 1000 },
22
+ }),
23
+ getIdTokenClient: vi.fn().mockResolvedValue({
24
+ idTokenProvider: {
25
+ fetchIdToken: vi.fn().mockResolvedValue('leaked-id-token'),
26
+ },
27
+ }),
28
+ }));
29
+ });
30
+ it('should FAIL (throw error) when trying to initialize with an untrusted arbitrary remote agent URL (reproducing vulnerability prevention)', () => {
31
+ // This test simulates the reproduction scenario: registering a remote agent with an arbitrary external URL
32
+ // e.g., http://127.0.0.1:1337 or https://malicious-agent.evil.com
33
+ const untrustedUrls = [
34
+ {
35
+ url: 'http://127.0.0.1:1337/.well-known/agent.json',
36
+ error: /requires HTTPS/,
37
+ },
38
+ {
39
+ url: 'https://malicious-agent.evil.com/card',
40
+ error: /is not an allowed host/,
41
+ },
42
+ {
43
+ url: 'https://untrusted-third-party.com/agent',
44
+ error: /is not an allowed host/,
45
+ },
46
+ ];
47
+ for (const item of untrustedUrls) {
48
+ expect(() => {
49
+ new GoogleCredentialsAuthProvider(mockConfig, item.url);
50
+ }).toThrow(item.error);
51
+ }
52
+ });
53
+ it('should SUCCEED only for allowed Google Services (proving the allowlist constraint)', () => {
54
+ const trustedUrls = [
55
+ 'https://language.googleapis.com/v1/models',
56
+ 'https://vertex-ai-agent.googleapis.com/agent',
57
+ 'https://my-secure-service-abc.run.app/card',
58
+ ];
59
+ for (const url of trustedUrls) {
60
+ expect(() => {
61
+ new GoogleCredentialsAuthProvider(mockConfig, url);
62
+ }).not.toThrow();
63
+ }
64
+ });
65
+ });
66
+ //# sourceMappingURL=credential-leak-prevention.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-leak-prevention.test.js","sourceRoot":"","sources":["../../../../src/agents/auth-provider/credential-leak-prevention.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAa,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;CACpB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;IACnE,MAAM,UAAU,GAAgC;QAC9C,IAAI,EAAE,oBAAoB;KAC3B,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QAClB,UAA8B,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YACxD,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACnC,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;gBACpE,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE;aACvD,CAAC;YACF,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC1C,eAAe,EAAE;oBACf,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;iBAC3D;aACF,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yIAAyI,EAAE,GAAG,EAAE;QACjJ,2GAA2G;QAC3G,kEAAkE;QAClE,MAAM,aAAa,GAAG;YACpB;gBACE,GAAG,EAAE,8CAA8C;gBACnD,KAAK,EAAE,gBAAgB;aACxB;YACD;gBACE,GAAG,EAAE,uCAAuC;gBAC5C,KAAK,EAAE,wBAAwB;aAChC;YACD;gBACE,GAAG,EAAE,yCAAyC;gBAC9C,KAAK,EAAE,wBAAwB;aAChC;SACF,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;QAC5F,MAAM,WAAW,GAAG;YAClB,2CAA2C;YAC3C,8CAA8C;YAC9C,4CAA4C;SAC7C,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,6BAA6B,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -28,7 +28,11 @@ export class GoogleCredentialsAuthProvider extends BaseA2AAuthProvider {
28
28
  if (!targetUrl) {
29
29
  throw new Error('targetUrl must be provided to GoogleCredentialsAuthProvider to determine token audience.');
30
30
  }
31
- const hostname = new URL(targetUrl).hostname;
31
+ const urlObj = new URL(targetUrl);
32
+ if (urlObj.protocol !== 'https:') {
33
+ throw new Error(`Protocol "${urlObj.protocol}" is not secure. Google Credential provider requires HTTPS.`);
34
+ }
35
+ const hostname = urlObj.hostname;
32
36
  const isRunAppHost = CLOUD_RUN_HOST_REGEX.test(hostname);
33
37
  if (isRunAppHost) {
34
38
  this.useIdToken = true;
@@ -1 +1 @@
1
- {"version":3,"file":"google-credentials-provider.js","sourceRoot":"","sources":["../../../../src/agents/auth-provider/google-credentials-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-credentials-provider.js","sourceRoot":"","sources":["../../../../src/agents/auth-provider/google-credentials-provider.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,10 @@ describe('GoogleCredentialsAuthProvider', () => {
52
52
  it('initializes seamlessly with .run.app', () => {
53
53
  expect(() => new GoogleCredentialsAuthProvider(mockConfig, 'https://my-cloud-run-service.run.app')).not.toThrow();
54
54
  });
55
+ it('throws if the protocol is not HTTPS', () => {
56
+ expect(() => new GoogleCredentialsAuthProvider(mockConfig, 'http://language.googleapis.com/v1/models')).toThrow(/requires HTTPS/);
57
+ expect(() => new GoogleCredentialsAuthProvider(mockConfig, 'http://my-cloud-run-service.run.app')).toThrow(/requires HTTPS/);
58
+ });
55
59
  });
56
60
  describe('Token Fetching', () => {
57
61
  it('fetches an access token for googleapis.com endpoint', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"google-credentials-provider.test.js","sourceRoot":"","sources":["../../../../src/agents/auth-provider/google-credentials-provider.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAa,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,iCAAiC;AACjC,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;CACpB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,MAAM,UAAU,GAAgC;QAC9C,IAAI,EAAE,oBAAoB;KAC3B,CAAC;IAEF,IAAI,aAAmB,CAAC;IACxB,IAAI,kBAAwB,CAAC;IAC7B,IAAI,oBAA0B,CAAC;IAC/B,IAAI,gBAAsB,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,kBAAkB,GAAG,EAAE;aACpB,EAAE,EAAE;aACJ,iBAAiB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACrD,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACxC,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE;SACvD,CAAC,CAAC;QAEH,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC9D,oBAAoB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC/C,eAAe,EAAE;gBACf,YAAY,EAAE,gBAAgB;aAC/B;SACF,CAAC,CAAC;QAEF,UAA8B,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YACxD,SAAS,EAAE,aAAa;YACxB,gBAAgB,EAAE,oBAAoB;SACvC,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,6BAA6B,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CACjE,4BAA4B,CAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,CACJ,GAAG,EAAE,CACH,IAAI,6BAA6B,CAAC,UAAU,EAAE,qBAAqB,CAAC,CACvE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,CACJ,GAAG,EAAE,CACH,IAAI,6BAA6B,CAC/B,UAAU,EACV,2CAA2C,CAC5C,CACJ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,CACJ,GAAG,EAAE,CACH,IAAI,6BAA6B,CAC/B,UAAU,EACV,sCAAsC,CACvC,CACJ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,GAAG,IAAI,6BAA6B,CAChD,UAAU,EACV,iCAAiC,CAClC,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAEzC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACvE,MAAM,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzC,MAAM,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC9C,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,4EAA4E;YAC5E,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,eAAe,CACtD,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CACrB,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,6BAA6B,CAChD,UAAU,EACV,sCAAsC,CACvC,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAEzC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YACxE,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YACpE,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,QAAQ,GAAG,IAAI,6BAA6B,CAChD,UAAU,EACV,iCAAiC,CAClC,CAAC;YAEF,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAEzB,gEAAgE;YAChE,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,eAAe,CACtD,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CACrB,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,6BAA6B,CAChD,UAAU,EACV,4BAA4B,CAC7B,CAAC;YAEF,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAEzB,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,QAAQ,GAAG,IAAI,6BAA6B,CAChD,UAAU,EACV,iCAAiC,CAClC,CAAC;YAEF,kBAAkB;YAClB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,GAAG,GAAG,EAAiB,CAAC;YAC9B,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAc,CAAC;YAExC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAErE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;gBAC3B,aAAa,EAAE,0BAA0B;aAC1C,CAAC,CAAC;YACH,wDAAwD;YACxD,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,6BAA6B,CAChD,UAAU,EACV,iCAAiC,CAClC,CAAC;YAEF,MAAM,GAAG,GAAG,EAAiB,CAAC;YAC9B,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAc,CAAC;YAExC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAErE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;gBAC3B,aAAa,EAAE,0BAA0B;aAC1C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,QAAQ,GAAG,IAAI,6BAA6B,CAChD,UAAU,EACV,iCAAiC,CAClC,CAAC;YAEF,MAAM,GAAG,GAAG,EAAiB,CAAC;YAC9B,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAc,CAAC;YAExC,0DAA0D;YAC1D,MAAM,CAAC,MAAM,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACtE,MAAM,CAAC,MAAM,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAEtE,4CAA4C;YAC5C,MAAM,CAAC,MAAM,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"google-credentials-provider.test.js","sourceRoot":"","sources":["../../../../src/agents/auth-provider/google-credentials-provider.test.ts"],"names":[],"mappings":"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"}
@@ -284,5 +284,61 @@ describe('Auto Routing Fallback Integration', () => {
284
284
  const result2 = await promise2;
285
285
  expect(result2.candidates?.[0]?.content?.parts?.[0]?.text).toBe('Pro success');
286
286
  });
287
+ it('should rotate session ID on fallback and retry successfully with the Flash model', async () => {
288
+ const originalSessionId = 'test-session-rotate-id';
289
+ config = new Config({
290
+ sessionId: originalSessionId,
291
+ targetDir: '/test',
292
+ debugMode: false,
293
+ cwd: '/test',
294
+ model: PREVIEW_GEMINI_MODEL_AUTO,
295
+ });
296
+ vi.spyOn(config, 'isInteractive').mockReturnValue(true);
297
+ client = new BaseLlmClient(fakeGenerator, config, AuthType.LOGIN_WITH_GOOGLE);
298
+ let attemptsPro = 0;
299
+ let attemptsFlash = 0;
300
+ const mockGoogleApiError = {
301
+ code: 429,
302
+ message: 'Automatically switching from gemini-2.5-pro to gemini-2.5-flash for faster responses for the remainder of this session. Possible reasons for this are...',
303
+ details: [],
304
+ };
305
+ vi.spyOn(fakeGenerator, 'generateContent').mockImplementation(async (params) => {
306
+ if (params.model === PREVIEW_GEMINI_MODEL) {
307
+ attemptsPro++;
308
+ throw new RetryableQuotaError('Quota exceeded for Pro', mockGoogleApiError, 0);
309
+ }
310
+ else if (params.model === PREVIEW_GEMINI_FLASH_MODEL) {
311
+ attemptsFlash++;
312
+ return {
313
+ candidates: [
314
+ {
315
+ content: {
316
+ role: 'model',
317
+ parts: [{ text: 'Flash success after rotation' }],
318
+ },
319
+ },
320
+ ],
321
+ };
322
+ }
323
+ throw new Error(`Unexpected model: ${params.model}`);
324
+ });
325
+ config.setFallbackModelHandler(async (_failed, _fallback, _error) => 'retry_always');
326
+ const promise = client.generateContent({
327
+ modelConfigKey: { model: PREVIEW_GEMINI_MODEL, isChatModel: true },
328
+ contents: [{ role: 'user', parts: [{ text: 'test query' }] }],
329
+ abortSignal: new AbortController().signal,
330
+ promptId: 'test-prompt',
331
+ role: LlmRole.UTILITY_TOOL,
332
+ });
333
+ await vi.runAllTimersAsync();
334
+ const result = await promise;
335
+ // Verify it resolved to Flash success instead of failing with Please submit a new query
336
+ expect(result.candidates?.[0]?.content?.parts?.[0]?.text).toBe('Flash success after rotation');
337
+ expect(attemptsPro).toBe(3);
338
+ expect(attemptsFlash).toBe(1);
339
+ // Verify session ID has been rotated
340
+ expect(config.getSessionId()).not.toBe(originalSessionId);
341
+ expect(config.getSessionId()).toBeDefined();
342
+ });
287
343
  });
288
344
  //# sourceMappingURL=autoRoutingFallback.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autoRoutingFallback.integration.test.js","sourceRoot":"","sources":["../../../src/availability/autoRoutingFallback.integration.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEnB,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,IAAI,MAAc,CAAC;IACnB,IAAI,aAAmC,CAAC;IACxC,IAAI,MAAqB,CAAC;IAE1B,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,eAAe,CACtE,IAAI,CACL,CAAC;QAEF,2CAA2C;QAC3C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;YACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;SACZ,CAAC,CAAC;QAEf,iFAAiF;QACjF,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;YACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,OAAO;;;;;;;;;;;;;;;SAeN,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,2BAA2B;QACxC,CAAC,CAAC,CAAC;QAEH,aAAa,GAAG,IAAI,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,uCAAuC;QACvC,MAAM,GAAG,IAAI,MAAM,CAAC;YAClB,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,yBAAyB,EAAE,oBAAoB;SACvD,CAAC,CAAC;QAEH,qEAAqE;QACrE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAExD,MAAM,GAAG,IAAI,aAAa,CACxB,aAAa,EACb,MAAM,EACN,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;QAEF,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,kBAAkB,GAAG;YACzB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,8CAA8C;QAC9C,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CAC3D,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;gBAC1C,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,kBAAkB,EAClB,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,KAAK,0BAA0B,EAAE,CAAC;gBACvD,aAAa,EAAE,CAAC;gBAChB,MAAM,IAAI,mBAAmB,CAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,CAAC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC,CACF,CAAC;QAEF,qFAAqF;QACrF,MAAM,CAAC,uBAAuB,CAC5B,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAkC,EAAE;YAClE,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAC,CAAC,kCAAkC;YACnD,CAAC;YACD,OAAO,cAAc,CAAC,CAAC,4BAA4B;QACrD,CAAC,CACF,CAAC;QAEF,uBAAuB;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;YACrC,cAAc,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;YAClE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACrD,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;YACzC,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,OAAO,CAAC,YAAY;SAC3B,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC;YAC3D,EAAE,CAAC,iBAAiB,EAAE;SACvB,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC;YAC/B,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,oBAAoB,EAAE,gBAAgB;SAC9C,CAAC,CAAC;QAEH,qEAAqE;QACrE,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG,IAAI,aAAa,CACrC,aAAa,EACb,aAAa,EACb,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;QAEF,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,kBAAkB,GAAG;YACzB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,8CAA8C;QAC9C,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CAC3D,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;gBAC1C,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,kBAAkB,EAClB,CAAC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC,CACF,CAAC;QAEF,6FAA6F;QAC7F,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CACnB,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAkC,EAAE,CACnE,MAAM,CACT,CAAC;QACF,aAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC;YAC5C,cAAc,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;YAClE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACrD,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;YACzC,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,OAAO,CAAC,YAAY;YAC1B,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACzD,EAAE,CAAC,iBAAiB,EAAE;SACvB,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7B,kEAAkE;QAClE,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAClC,oBAAoB,EACpB,0BAA0B,EAC1B,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAChC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,uCAAuC;QACvC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC;YAC/B,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,yBAAyB,EAAE,oBAAoB;SACvD,CAAC,CAAC;QAEH,qEAAqE;QACrE,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE/D,kDAAkD;QAClD,EAAE,CAAC,KAAK,CACN,aAAa,EACb,0CAA0C,CAC3C,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,aAAa,GAAG,IAAI,aAAa,CACrC,aAAa,EACb,aAAa,EACb,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;QAEF,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,kBAAkB,GAAG;YACzB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,8CAA8C;QAC9C,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CAC3D,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;gBAC1C,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,kBAAkB,EAClB,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,KAAK,0BAA0B,EAAE,CAAC;gBACvD,aAAa,EAAE,CAAC;gBAChB,MAAM,IAAI,mBAAmB,CAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,CAAC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC,CACF,CAAC;QAEF,kDAAkD;QAClD,aAAa,CAAC,uBAAuB,CACnC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAkC,EAAE;YAClE,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC;YAC5C,cAAc,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;YAClE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACrD,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;YACzC,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,OAAO,CAAC,YAAY;SAC3B,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC;YAC3D,EAAE,CAAC,iBAAiB,EAAE;SACvB,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,uCAAuC;QACvC,MAAM,GAAG,IAAI,MAAM,CAAC;YAClB,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,yBAAyB,EAAE,oBAAoB;SACvD,CAAC,CAAC;QAEH,qEAAqE;QACrE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAExD,MAAM,GAAG,IAAI,aAAa,CACxB,aAAa,EACb,MAAM,EACN,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;QAEF,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,kBAAkB,GAAG;YACzB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,oCAAoC;QACpC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CAC3D,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;gBAC1C,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,kBAAkB,EAClB,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,KAAK,0BAA0B,EAAE,CAAC;gBACvD,aAAa,EAAE,CAAC;gBAChB,OAAO;oBACL,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE;yBAC/D;qBACF;iBACoC,CAAC;YAC1C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,uBAAuB,CAC5B,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAkC,EAAE,CACnE,cAAc,CACjB,CAAC;QAEF,kCAAkC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;YACtC,cAAc,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE;YAClE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACrD,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;YACzC,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,OAAO,CAAC,YAAY;SAC3B,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;QAE/B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7D,eAAe,CAChB,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE9B,8BAA8B;QAC9B,MAAM,CAAC,2BAA2B,EAAE,CAAC,SAAS,EAAE,CAAC;QAEjD,yCAAyC;QACzC,sDAAsD;QACtD,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CAC3D,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;gBAC1C,OAAO;oBACL,UAAU,EAAE;wBACV,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE;qBACjE;iBACoC,CAAC;YAC1C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;YACtC,cAAc,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,oBAAoB;YACxF,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;YAC9D,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;YACzC,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,OAAO,CAAC,YAAY;SAC3B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7D,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"autoRoutingFallback.integration.test.js","sourceRoot":"","sources":["../../../src/availability/autoRoutingFallback.integration.test.ts"],"names":[],"mappings":"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"}