@google/gemini-cli 0.7.0-preview.0 → 0.7.1-reland

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 (188) hide show
  1. package/dist/package.json +3 -4
  2. package/dist/src/commands/extensions/install.js +1 -1
  3. package/dist/src/commands/extensions/install.js.map +1 -1
  4. package/dist/src/commands/extensions/install.test.js +2 -8
  5. package/dist/src/commands/extensions/install.test.js.map +1 -1
  6. package/dist/src/commands/extensions/new.test.js +2 -2
  7. package/dist/src/commands/extensions/new.test.js.map +1 -1
  8. package/dist/src/commands/extensions/uninstall.test.js +1 -4
  9. package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
  10. package/dist/src/commands/extensions/update.js +16 -17
  11. package/dist/src/commands/extensions/update.js.map +1 -1
  12. package/dist/src/commands/mcp/add.js +1 -6
  13. package/dist/src/commands/mcp/add.js.map +1 -1
  14. package/dist/src/config/config.d.ts +0 -2
  15. package/dist/src/config/config.js +20 -37
  16. package/dist/src/config/config.js.map +1 -1
  17. package/dist/src/config/extension.d.ts +1 -1
  18. package/dist/src/config/extension.js +59 -71
  19. package/dist/src/config/extension.js.map +1 -1
  20. package/dist/src/config/extensions/github.d.ts +2 -6
  21. package/dist/src/config/extensions/github.js +32 -59
  22. package/dist/src/config/extensions/github.js.map +1 -1
  23. package/dist/src/config/extensions/github.test.js +1 -5
  24. package/dist/src/config/extensions/github.test.js.map +1 -1
  25. package/dist/src/config/extensions/update.d.ts +1 -1
  26. package/dist/src/config/extensions/update.js +2 -2
  27. package/dist/src/config/extensions/update.js.map +1 -1
  28. package/dist/src/config/extensions/update.test.js +15 -50
  29. package/dist/src/config/extensions/update.test.js.map +1 -1
  30. package/dist/src/config/settings.js +3 -18
  31. package/dist/src/config/settings.js.map +1 -1
  32. package/dist/src/config/settingsSchema.d.ts +0 -18
  33. package/dist/src/config/settingsSchema.js +0 -18
  34. package/dist/src/config/settingsSchema.js.map +1 -1
  35. package/dist/src/config/trustedFolders.d.ts +1 -10
  36. package/dist/src/config/trustedFolders.js +14 -40
  37. package/dist/src/config/trustedFolders.js.map +1 -1
  38. package/dist/src/config/trustedFolders.test.js +14 -95
  39. package/dist/src/config/trustedFolders.test.js.map +1 -1
  40. package/dist/src/gemini.js +126 -100
  41. package/dist/src/gemini.js.map +1 -1
  42. package/dist/src/gemini.test.js +5 -74
  43. package/dist/src/gemini.test.js.map +1 -1
  44. package/dist/src/generated/git-commit.d.ts +2 -2
  45. package/dist/src/generated/git-commit.js +2 -2
  46. package/dist/src/generated/git-commit.js.map +1 -1
  47. package/dist/src/services/BuiltinCommandLoader.js +0 -4
  48. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  49. package/dist/src/services/BuiltinCommandLoader.test.js +1 -50
  50. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  51. package/dist/src/test-utils/render.d.ts +1 -3
  52. package/dist/src/test-utils/render.js +1 -2
  53. package/dist/src/test-utils/render.js.map +1 -1
  54. package/dist/src/ui/App.js +1 -1
  55. package/dist/src/ui/App.js.map +1 -1
  56. package/dist/src/ui/AppContainer.js +12 -32
  57. package/dist/src/ui/AppContainer.js.map +1 -1
  58. package/dist/src/ui/AppContainer.test.js +0 -31
  59. package/dist/src/ui/AppContainer.test.js.map +1 -1
  60. package/dist/src/ui/commands/chatCommand.js +3 -14
  61. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  62. package/dist/src/ui/commands/types.d.ts +1 -1
  63. package/dist/src/ui/commands/types.js.map +1 -1
  64. package/dist/src/ui/components/AppHeader.js +5 -2
  65. package/dist/src/ui/components/AppHeader.js.map +1 -1
  66. package/dist/src/ui/components/Composer.js +4 -2
  67. package/dist/src/ui/components/Composer.js.map +1 -1
  68. package/dist/src/ui/components/DialogManager.d.ts +1 -6
  69. package/dist/src/ui/components/DialogManager.js +1 -10
  70. package/dist/src/ui/components/DialogManager.js.map +1 -1
  71. package/dist/src/ui/components/HistoryItemDisplay.d.ts +1 -1
  72. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  73. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  74. package/dist/src/ui/components/InputPrompt.d.ts +1 -1
  75. package/dist/src/ui/components/InputPrompt.js +8 -17
  76. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  77. package/dist/src/ui/components/MainContent.js +1 -1
  78. package/dist/src/ui/components/MainContent.js.map +1 -1
  79. package/dist/src/ui/components/SettingsDialog.js +1 -1
  80. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  81. package/dist/src/ui/components/SettingsDialog.test.js +12 -46
  82. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  83. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +1 -1
  84. package/dist/src/ui/components/messages/ToolGroupMessage.js +5 -5
  85. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  86. package/dist/src/ui/components/messages/ToolMessage.d.ts +1 -1
  87. package/dist/src/ui/components/messages/ToolMessage.js +3 -3
  88. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  89. package/dist/src/ui/components/shared/RadioButtonSelect.js +104 -9
  90. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  91. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +92 -113
  92. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -1
  93. package/dist/src/ui/contexts/FocusContext.d.ts +7 -0
  94. package/dist/src/ui/contexts/FocusContext.js +9 -0
  95. package/dist/src/ui/contexts/FocusContext.js.map +1 -0
  96. package/dist/src/ui/contexts/KeypressContext.js +0 -3
  97. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  98. package/dist/src/ui/contexts/UIActionsContext.d.ts +0 -2
  99. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  100. package/dist/src/ui/contexts/UIStateContext.d.ts +1 -5
  101. package/dist/src/ui/contexts/UIStateContext.js +0 -1
  102. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  103. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +0 -2
  104. package/dist/src/ui/hooks/slashCommandProcessor.js +0 -6
  105. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  106. package/dist/src/ui/hooks/useExtensionUpdates.test.js +10 -8
  107. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  108. package/dist/src/ui/hooks/useFocus.js +0 -10
  109. package/dist/src/ui/hooks/useFocus.js.map +1 -1
  110. package/dist/src/ui/hooks/useFolderTrust.d.ts +1 -1
  111. package/dist/src/ui/hooks/useFolderTrust.js +7 -2
  112. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  113. package/dist/src/ui/hooks/useGeminiStream.js +1 -5
  114. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  115. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  116. package/dist/src/ui/hooks/useSlashCompletion.js +2 -7
  117. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  118. package/dist/src/ui/hooks/useSlashCompletion.test.js +0 -33
  119. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  120. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +3 -3
  121. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
  122. package/dist/src/utils/deepMerge.d.ts +3 -2
  123. package/dist/src/zed-integration/schema.d.ts +22 -22
  124. package/dist/tsconfig.tsbuildinfo +1 -1
  125. package/package.json +4 -5
  126. package/dist/src/ui/commands/modelCommand.d.ts +0 -7
  127. package/dist/src/ui/commands/modelCommand.js +0 -16
  128. package/dist/src/ui/commands/modelCommand.js.map +0 -1
  129. package/dist/src/ui/commands/modelCommand.test.d.ts +0 -6
  130. package/dist/src/ui/commands/modelCommand.test.js +0 -30
  131. package/dist/src/ui/commands/modelCommand.test.js.map +0 -1
  132. package/dist/src/ui/commands/permissionsCommand.d.ts +0 -7
  133. package/dist/src/ui/commands/permissionsCommand.js +0 -16
  134. package/dist/src/ui/commands/permissionsCommand.js.map +0 -1
  135. package/dist/src/ui/commands/permissionsCommand.test.d.ts +0 -6
  136. package/dist/src/ui/commands/permissionsCommand.test.js +0 -30
  137. package/dist/src/ui/commands/permissionsCommand.test.js.map +0 -1
  138. package/dist/src/ui/components/ModelDialog.d.ts +0 -11
  139. package/dist/src/ui/components/ModelDialog.js +0 -53
  140. package/dist/src/ui/components/ModelDialog.js.map +0 -1
  141. package/dist/src/ui/components/ModelDialog.test.d.ts +0 -6
  142. package/dist/src/ui/components/ModelDialog.test.js +0 -153
  143. package/dist/src/ui/components/ModelDialog.test.js.map +0 -1
  144. package/dist/src/ui/components/PermissionsModifyTrustDialog.d.ts +0 -13
  145. package/dist/src/ui/components/PermissionsModifyTrustDialog.js +0 -45
  146. package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +0 -1
  147. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.d.ts +0 -6
  148. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +0 -158
  149. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +0 -1
  150. package/dist/src/ui/components/shared/BaseSelectionList.d.ts +0 -43
  151. package/dist/src/ui/components/shared/BaseSelectionList.js +0 -72
  152. package/dist/src/ui/components/shared/BaseSelectionList.js.map +0 -1
  153. package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +0 -6
  154. package/dist/src/ui/components/shared/BaseSelectionList.test.js +0 -374
  155. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +0 -1
  156. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.d.ts +0 -36
  157. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js +0 -13
  158. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js.map +0 -1
  159. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +0 -6
  160. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +0 -68
  161. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +0 -1
  162. package/dist/src/ui/contexts/ShellFocusContext.d.ts +0 -7
  163. package/dist/src/ui/contexts/ShellFocusContext.js +0 -9
  164. package/dist/src/ui/contexts/ShellFocusContext.js.map +0 -1
  165. package/dist/src/ui/hooks/useModelCommand.d.ts +0 -12
  166. package/dist/src/ui/hooks/useModelCommand.js +0 -21
  167. package/dist/src/ui/hooks/useModelCommand.js.map +0 -1
  168. package/dist/src/ui/hooks/useModelCommand.test.d.ts +0 -6
  169. package/dist/src/ui/hooks/useModelCommand.test.js +0 -35
  170. package/dist/src/ui/hooks/useModelCommand.test.js.map +0 -1
  171. package/dist/src/ui/hooks/usePermissionsModifyTrust.d.ts +0 -17
  172. package/dist/src/ui/hooks/usePermissionsModifyTrust.js +0 -78
  173. package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +0 -1
  174. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.d.ts +0 -6
  175. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +0 -182
  176. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +0 -1
  177. package/dist/src/ui/hooks/useSelectionList.d.ts +0 -33
  178. package/dist/src/ui/hooks/useSelectionList.js +0 -252
  179. package/dist/src/ui/hooks/useSelectionList.js.map +0 -1
  180. package/dist/src/ui/hooks/useSelectionList.test.d.ts +0 -6
  181. package/dist/src/ui/hooks/useSelectionList.test.js +0 -651
  182. package/dist/src/ui/hooks/useSelectionList.test.js.map +0 -1
  183. package/dist/src/utils/relaunch.d.ts +0 -7
  184. package/dist/src/utils/relaunch.js +0 -57
  185. package/dist/src/utils/relaunch.js.map +0 -1
  186. package/dist/src/utils/relaunch.test.d.ts +0 -6
  187. package/dist/src/utils/relaunch.test.js +0 -273
  188. package/dist/src/utils/relaunch.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSelectionList.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useSelectionList.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare function relaunchOnExitCode(runner: () => Promise<number>): Promise<void>;
7
- export declare function relaunchAppInChildProcess(additionalNodeArgs: string[], additionalScriptArgs: string[]): Promise<void>;
@@ -1,57 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { spawn } from 'node:child_process';
7
- import { RELAUNCH_EXIT_CODE } from './processUtils.js';
8
- export async function relaunchOnExitCode(runner) {
9
- while (true) {
10
- try {
11
- const exitCode = await runner();
12
- if (exitCode !== RELAUNCH_EXIT_CODE) {
13
- process.exit(exitCode);
14
- }
15
- }
16
- catch (error) {
17
- process.stdin.resume();
18
- console.error('Fatal error: Failed to relaunch the CLI process.', error);
19
- process.exit(1);
20
- }
21
- }
22
- }
23
- export async function relaunchAppInChildProcess(additionalNodeArgs, additionalScriptArgs) {
24
- if (process.env['GEMINI_CLI_NO_RELAUNCH']) {
25
- return;
26
- }
27
- const runner = () => {
28
- // process.argv is [node, script, ...args]
29
- // We want to construct [ ...nodeArgs, script, ...scriptArgs]
30
- const script = process.argv[1];
31
- const scriptArgs = process.argv.slice(2);
32
- const nodeArgs = [
33
- ...process.execArgv,
34
- ...additionalNodeArgs,
35
- script,
36
- ...additionalScriptArgs,
37
- ...scriptArgs,
38
- ];
39
- const newEnv = { ...process.env, GEMINI_CLI_NO_RELAUNCH: 'true' };
40
- // The parent process should not be reading from stdin while the child is running.
41
- process.stdin.pause();
42
- const child = spawn(process.execPath, nodeArgs, {
43
- stdio: 'inherit',
44
- env: newEnv,
45
- });
46
- return new Promise((resolve, reject) => {
47
- child.on('error', reject);
48
- child.on('close', (code) => {
49
- // Resume stdin before the parent process exits.
50
- process.stdin.resume();
51
- resolve(code ?? 1);
52
- });
53
- });
54
- };
55
- await relaunchOnExitCode(runner);
56
- }
57
- //# sourceMappingURL=relaunch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relaunch.js","sourceRoot":"","sources":["../../../src/utils/relaunch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAA6B;IACpE,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;YAEhC,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,kBAA4B,EAC5B,oBAA8B;IAE9B,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,0CAA0C;QAC1C,6DAA6D;QAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG;YACf,GAAG,OAAO,CAAC,QAAQ;YACnB,GAAG,kBAAkB;YACrB,MAAM;YACN,GAAG,oBAAoB;YACvB,GAAG,UAAU;SACd,CAAC;QACF,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC;QAElE,kFAAkF;QAClF,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE;YAC9C,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,gDAAgD;gBAChD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};
@@ -1,273 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { vi, describe, it, expect, beforeEach, afterEach, } from 'vitest';
7
- import { EventEmitter } from 'node:events';
8
- import { RELAUNCH_EXIT_CODE } from './processUtils.js';
9
- import { spawn } from 'node:child_process';
10
- vi.mock('node:child_process', async (importOriginal) => {
11
- const actual = await importOriginal();
12
- return {
13
- ...actual,
14
- spawn: vi.fn(),
15
- };
16
- });
17
- const mockedSpawn = vi.mocked(spawn);
18
- // Import the functions initially
19
- import { relaunchAppInChildProcess, relaunchOnExitCode } from './relaunch.js';
20
- describe('relaunchOnExitCode', () => {
21
- let processExitSpy;
22
- let consoleErrorSpy;
23
- let stdinResumeSpy;
24
- beforeEach(() => {
25
- processExitSpy = vi.spyOn(process, 'exit').mockImplementation(() => {
26
- throw new Error('PROCESS_EXIT_CALLED');
27
- });
28
- consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
29
- stdinResumeSpy = vi
30
- .spyOn(process.stdin, 'resume')
31
- .mockImplementation(() => process.stdin);
32
- vi.clearAllMocks();
33
- });
34
- afterEach(() => {
35
- processExitSpy.mockRestore();
36
- consoleErrorSpy.mockRestore();
37
- stdinResumeSpy.mockRestore();
38
- });
39
- it('should exit with non-RELAUNCH_EXIT_CODE', async () => {
40
- const runner = vi.fn().mockResolvedValue(0);
41
- await expect(relaunchOnExitCode(runner)).rejects.toThrow('PROCESS_EXIT_CALLED');
42
- expect(runner).toHaveBeenCalledTimes(1);
43
- expect(processExitSpy).toHaveBeenCalledWith(0);
44
- });
45
- it('should continue running when RELAUNCH_EXIT_CODE is returned', async () => {
46
- let callCount = 0;
47
- const runner = vi.fn().mockImplementation(async () => {
48
- callCount++;
49
- if (callCount === 1)
50
- return RELAUNCH_EXIT_CODE;
51
- if (callCount === 2)
52
- return RELAUNCH_EXIT_CODE;
53
- return 0; // Exit on third call
54
- });
55
- await expect(relaunchOnExitCode(runner)).rejects.toThrow('PROCESS_EXIT_CALLED');
56
- expect(runner).toHaveBeenCalledTimes(3);
57
- expect(processExitSpy).toHaveBeenCalledWith(0);
58
- });
59
- it('should handle runner errors', async () => {
60
- const error = new Error('Runner failed');
61
- const runner = vi.fn().mockRejectedValue(error);
62
- await expect(relaunchOnExitCode(runner)).rejects.toThrow('PROCESS_EXIT_CALLED');
63
- expect(runner).toHaveBeenCalledTimes(1);
64
- expect(consoleErrorSpy).toHaveBeenCalledWith('Fatal error: Failed to relaunch the CLI process.', error);
65
- expect(stdinResumeSpy).toHaveBeenCalled();
66
- expect(processExitSpy).toHaveBeenCalledWith(1);
67
- });
68
- });
69
- describe('relaunchAppInChildProcess', () => {
70
- let processExitSpy;
71
- let consoleErrorSpy;
72
- let stdinPauseSpy;
73
- let stdinResumeSpy;
74
- // Store original values to restore later
75
- const originalEnv = { ...process.env };
76
- const originalExecArgv = [...process.execArgv];
77
- const originalArgv = [...process.argv];
78
- const originalExecPath = process.execPath;
79
- beforeEach(() => {
80
- vi.clearAllMocks();
81
- process.env = { ...originalEnv };
82
- delete process.env['GEMINI_CLI_NO_RELAUNCH'];
83
- process.execArgv = [...originalExecArgv];
84
- process.argv = [...originalArgv];
85
- process.execPath = '/usr/bin/node';
86
- processExitSpy = vi.spyOn(process, 'exit').mockImplementation(() => {
87
- throw new Error('PROCESS_EXIT_CALLED');
88
- });
89
- consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
90
- stdinPauseSpy = vi
91
- .spyOn(process.stdin, 'pause')
92
- .mockImplementation(() => process.stdin);
93
- stdinResumeSpy = vi
94
- .spyOn(process.stdin, 'resume')
95
- .mockImplementation(() => process.stdin);
96
- });
97
- afterEach(() => {
98
- process.env = { ...originalEnv };
99
- process.execArgv = [...originalExecArgv];
100
- process.argv = [...originalArgv];
101
- process.execPath = originalExecPath;
102
- processExitSpy.mockRestore();
103
- consoleErrorSpy.mockRestore();
104
- stdinPauseSpy.mockRestore();
105
- stdinResumeSpy.mockRestore();
106
- });
107
- describe('when GEMINI_CLI_NO_RELAUNCH is set', () => {
108
- it('should return early without spawning a child process', async () => {
109
- process.env['GEMINI_CLI_NO_RELAUNCH'] = 'true';
110
- await relaunchAppInChildProcess(['--test'], ['--verbose']);
111
- expect(mockedSpawn).not.toHaveBeenCalled();
112
- expect(processExitSpy).not.toHaveBeenCalled();
113
- });
114
- });
115
- describe('when GEMINI_CLI_NO_RELAUNCH is not set', () => {
116
- beforeEach(() => {
117
- delete process.env['GEMINI_CLI_NO_RELAUNCH'];
118
- });
119
- it('should construct correct node arguments from execArgv, additionalNodeArgs, script, additionalScriptArgs, and argv', () => {
120
- // Test the argument construction logic directly by extracting it into a testable function
121
- // This tests the same logic that's used in relaunchAppInChildProcess
122
- // Setup test data to verify argument ordering
123
- const mockExecArgv = ['--inspect=9229', '--trace-warnings'];
124
- const mockArgv = [
125
- '/usr/bin/node',
126
- '/path/to/cli.js',
127
- 'command',
128
- '--flag=value',
129
- '--verbose',
130
- ];
131
- const additionalNodeArgs = [
132
- '--max-old-space-size=4096',
133
- '--experimental-modules',
134
- ];
135
- const additionalScriptArgs = ['--model', 'gemini-1.5-pro', '--debug'];
136
- // Extract the argument construction logic from relaunchAppInChildProcess
137
- const script = mockArgv[1];
138
- const scriptArgs = mockArgv.slice(2);
139
- const nodeArgs = [
140
- ...mockExecArgv,
141
- ...additionalNodeArgs,
142
- script,
143
- ...additionalScriptArgs,
144
- ...scriptArgs,
145
- ];
146
- // Verify the argument construction follows the expected pattern:
147
- // [...process.execArgv, ...additionalNodeArgs, script, ...additionalScriptArgs, ...scriptArgs]
148
- const expectedArgs = [
149
- // Original node execution arguments
150
- '--inspect=9229',
151
- '--trace-warnings',
152
- // Additional node arguments passed to function
153
- '--max-old-space-size=4096',
154
- '--experimental-modules',
155
- // The script path
156
- '/path/to/cli.js',
157
- // Additional script arguments passed to function
158
- '--model',
159
- 'gemini-1.5-pro',
160
- '--debug',
161
- // Original script arguments (everything after the script in process.argv)
162
- 'command',
163
- '--flag=value',
164
- '--verbose',
165
- ];
166
- expect(nodeArgs).toEqual(expectedArgs);
167
- });
168
- it('should handle empty additional arguments correctly', () => {
169
- // Test edge cases with empty arrays
170
- const mockExecArgv = ['--trace-warnings'];
171
- const mockArgv = ['/usr/bin/node', '/app/cli.js', 'start'];
172
- const additionalNodeArgs = [];
173
- const additionalScriptArgs = [];
174
- // Extract the argument construction logic
175
- const script = mockArgv[1];
176
- const scriptArgs = mockArgv.slice(2);
177
- const nodeArgs = [
178
- ...mockExecArgv,
179
- ...additionalNodeArgs,
180
- script,
181
- ...additionalScriptArgs,
182
- ...scriptArgs,
183
- ];
184
- const expectedArgs = ['--trace-warnings', '/app/cli.js', 'start'];
185
- expect(nodeArgs).toEqual(expectedArgs);
186
- });
187
- it('should handle complex argument patterns', () => {
188
- // Test with various argument types including flags with values, boolean flags, etc.
189
- const mockExecArgv = ['--max-old-space-size=8192'];
190
- const mockArgv = [
191
- '/usr/bin/node',
192
- '/cli.js',
193
- '--config=/path/to/config.json',
194
- '--verbose',
195
- 'subcommand',
196
- '--output',
197
- 'file.txt',
198
- ];
199
- const additionalNodeArgs = ['--inspect-brk=9230'];
200
- const additionalScriptArgs = ['--model=gpt-4', '--temperature=0.7'];
201
- const script = mockArgv[1];
202
- const scriptArgs = mockArgv.slice(2);
203
- const nodeArgs = [
204
- ...mockExecArgv,
205
- ...additionalNodeArgs,
206
- script,
207
- ...additionalScriptArgs,
208
- ...scriptArgs,
209
- ];
210
- const expectedArgs = [
211
- '--max-old-space-size=8192',
212
- '--inspect-brk=9230',
213
- '/cli.js',
214
- '--model=gpt-4',
215
- '--temperature=0.7',
216
- '--config=/path/to/config.json',
217
- '--verbose',
218
- 'subcommand',
219
- '--output',
220
- 'file.txt',
221
- ];
222
- expect(nodeArgs).toEqual(expectedArgs);
223
- });
224
- // Note: Additional integration tests for spawn behavior are complex due to module mocking
225
- // limitations with ES modules. The core logic is tested in relaunchOnExitCode tests.
226
- it('should handle null exit code from child process', async () => {
227
- process.argv = ['/usr/bin/node', '/app/cli.js'];
228
- const mockChild = createMockChildProcess(0, false); // Don't auto-close
229
- mockedSpawn.mockImplementation(() => {
230
- // Emit close with null code immediately
231
- setImmediate(() => {
232
- mockChild.emit('close', null);
233
- });
234
- return mockChild;
235
- });
236
- // Start the relaunch process
237
- const promise = relaunchAppInChildProcess([], []);
238
- await expect(promise).rejects.toThrow('PROCESS_EXIT_CALLED');
239
- // Should default to exit code 1
240
- expect(processExitSpy).toHaveBeenCalledWith(1);
241
- });
242
- });
243
- });
244
- /**
245
- * Creates a mock child process that emits events asynchronously
246
- */
247
- function createMockChildProcess(exitCode = 0, autoClose = false) {
248
- const mockChild = new EventEmitter();
249
- Object.assign(mockChild, {
250
- stdin: null,
251
- stdout: null,
252
- stderr: null,
253
- stdio: [null, null, null],
254
- pid: 12345,
255
- killed: false,
256
- exitCode: null,
257
- signalCode: null,
258
- spawnargs: [],
259
- spawnfile: '',
260
- kill: vi.fn(),
261
- send: vi.fn(),
262
- disconnect: vi.fn(),
263
- unref: vi.fn(),
264
- ref: vi.fn(),
265
- });
266
- if (autoClose) {
267
- setImmediate(() => {
268
- mockChild.emit('close', exitCode);
269
- });
270
- }
271
- return mockChild;
272
- }
273
- //# sourceMappingURL=relaunch.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relaunch.test.js","sourceRoot":"","sources":["../../../src/utils/relaunch.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,EAAE,EACF,QAAQ,EACR,EAAE,EACF,MAAM,EACN,UAAU,EACV,SAAS,GAEV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAuC,CAAC;IAC3E,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;KACf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAErC,iCAAiC;AACjC,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,cAA4B,CAAC;IACjC,IAAI,eAA6B,CAAC;IAClC,IAAI,cAA4B,CAAC;IAEjC,UAAU,CAAC,GAAG,EAAE;QACd,cAAc,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC1E,cAAc,GAAG,EAAE;aAChB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;aAC9B,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,WAAW,EAAE,CAAC;QAC7B,eAAe,CAAC,WAAW,EAAE,CAAC;QAC9B,cAAc,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACtD,qBAAqB,CACtB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE;YACnD,SAAS,EAAE,CAAC;YACZ,IAAI,SAAS,KAAK,CAAC;gBAAE,OAAO,kBAAkB,CAAC;YAC/C,IAAI,SAAS,KAAK,CAAC;gBAAE,OAAO,kBAAkB,CAAC;YAC/C,OAAO,CAAC,CAAC,CAAC,qBAAqB;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACtD,qBAAqB,CACtB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEhD,MAAM,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACtD,qBAAqB,CACtB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAC1C,kDAAkD,EAClD,KAAK,CACN,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,cAA4B,CAAC;IACjC,IAAI,eAA6B,CAAC;IAClC,IAAI,aAA2B,CAAC;IAChC,IAAI,cAA4B,CAAC;IAEjC,yCAAyC;IACzC,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE1C,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAE7C,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QACjC,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC;QAEnC,cAAc,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC1E,aAAa,GAAG,EAAE;aACf,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;aAC7B,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,cAAc,GAAG,EAAE;aAChB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;aAC9B,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QACjC,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QACjC,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QAEpC,cAAc,CAAC,WAAW,EAAE,CAAC;QAC7B,eAAe,CAAC,WAAW,EAAE,CAAC;QAC9B,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5B,cAAc,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC;YAE/C,MAAM,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAE3D,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACtD,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mHAAmH,EAAE,GAAG,EAAE;YAC3H,0FAA0F;YAC1F,qEAAqE;YAErE,8CAA8C;YAC9C,MAAM,YAAY,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG;gBACf,eAAe;gBACf,iBAAiB;gBACjB,SAAS;gBACT,cAAc;gBACd,WAAW;aACZ,CAAC;YACF,MAAM,kBAAkB,GAAG;gBACzB,2BAA2B;gBAC3B,wBAAwB;aACzB,CAAC;YACF,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAEtE,yEAAyE;YACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,QAAQ,GAAG;gBACf,GAAG,YAAY;gBACf,GAAG,kBAAkB;gBACrB,MAAM;gBACN,GAAG,oBAAoB;gBACvB,GAAG,UAAU;aACd,CAAC;YAEF,iEAAiE;YACjE,+FAA+F;YAC/F,MAAM,YAAY,GAAG;gBACnB,oCAAoC;gBACpC,gBAAgB;gBAChB,kBAAkB;gBAClB,+CAA+C;gBAC/C,2BAA2B;gBAC3B,wBAAwB;gBACxB,kBAAkB;gBAClB,iBAAiB;gBACjB,iDAAiD;gBACjD,SAAS;gBACT,gBAAgB;gBAChB,SAAS;gBACT,0EAA0E;gBAC1E,SAAS;gBACT,cAAc;gBACd,WAAW;aACZ,CAAC;YAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,oCAAoC;YACpC,MAAM,YAAY,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,kBAAkB,GAAa,EAAE,CAAC;YACxC,MAAM,oBAAoB,GAAa,EAAE,CAAC;YAE1C,0CAA0C;YAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,QAAQ,GAAG;gBACf,GAAG,YAAY;gBACf,GAAG,kBAAkB;gBACrB,MAAM;gBACN,GAAG,oBAAoB;gBACvB,GAAG,UAAU;aACd,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,kBAAkB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAElE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,oFAAoF;YACpF,MAAM,YAAY,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG;gBACf,eAAe;gBACf,SAAS;gBACT,+BAA+B;gBAC/B,WAAW;gBACX,YAAY;gBACZ,UAAU;gBACV,UAAU;aACX,CAAC;YACF,MAAM,kBAAkB,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClD,MAAM,oBAAoB,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,QAAQ,GAAG;gBACf,GAAG,YAAY;gBACf,GAAG,kBAAkB;gBACrB,MAAM;gBACN,GAAG,oBAAoB;gBACvB,GAAG,UAAU;aACd,CAAC;YAEF,MAAM,YAAY,GAAG;gBACnB,2BAA2B;gBAC3B,oBAAoB;gBACpB,SAAS;gBACT,eAAe;gBACf,mBAAmB;gBACnB,+BAA+B;gBAC/B,WAAW;gBACX,YAAY;gBACZ,UAAU;gBACV,UAAU;aACX,CAAC;YAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,0FAA0F;QAC1F,qFAAqF;QAErF,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,OAAO,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YAEhD,MAAM,SAAS,GAAG,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB;YACvE,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAClC,wCAAwC;gBACxC,YAAY,CAAC,GAAG,EAAE;oBAChB,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,6BAA6B;YAC7B,MAAM,OAAO,GAAG,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAElD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAE7D,gCAAgC;YAChC,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,sBAAsB,CAC7B,WAAmB,CAAC,EACpB,YAAqB,KAAK;IAE1B,MAAM,SAAS,GAAG,IAAI,YAAY,EAAkB,CAAC;IAErD,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;QACvB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACzB,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;QACnB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,CAAC,GAAG,EAAE;YAChB,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}