@google/gemini-cli 0.11.0-preview.0 → 0.12.0-nightly.20251023.c4c0c0d1

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 (140) hide show
  1. package/dist/google-gemini-cli-0.12.0-nightly.20251022.0542de95.tgz +0 -0
  2. package/dist/package.json +4 -3
  3. package/dist/src/commands/extensions/disable.js +13 -6
  4. package/dist/src/commands/extensions/disable.js.map +1 -1
  5. package/dist/src/commands/extensions/enable.js +13 -6
  6. package/dist/src/commands/extensions/enable.js.map +1 -1
  7. package/dist/src/commands/extensions/install.js +12 -2
  8. package/dist/src/commands/extensions/install.js.map +1 -1
  9. package/dist/src/commands/extensions/install.test.js +11 -3
  10. package/dist/src/commands/extensions/install.test.js.map +1 -1
  11. package/dist/src/commands/extensions/link.js +12 -2
  12. package/dist/src/commands/extensions/link.js.map +1 -1
  13. package/dist/src/commands/extensions/list.js +13 -4
  14. package/dist/src/commands/extensions/list.js.map +1 -1
  15. package/dist/src/commands/extensions/uninstall.js +12 -2
  16. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  17. package/dist/src/commands/extensions/update.js +17 -13
  18. package/dist/src/commands/extensions/update.js.map +1 -1
  19. package/dist/src/commands/extensions.js +1 -0
  20. package/dist/src/commands/extensions.js.map +1 -1
  21. package/dist/src/commands/mcp/list.js +10 -3
  22. package/dist/src/commands/mcp/list.js.map +1 -1
  23. package/dist/src/commands/mcp/list.test.js +12 -6
  24. package/dist/src/commands/mcp/list.test.js.map +1 -1
  25. package/dist/src/config/config.js +12 -0
  26. package/dist/src/config/config.js.map +1 -1
  27. package/dist/src/config/config.test.js +11 -0
  28. package/dist/src/config/config.test.js.map +1 -1
  29. package/dist/src/config/extension-manager.d.ts +38 -0
  30. package/dist/src/config/extension-manager.js +412 -0
  31. package/dist/src/config/extension-manager.js.map +1 -0
  32. package/dist/src/config/extension.d.ts +4 -51
  33. package/dist/src/config/extension.js +1 -535
  34. package/dist/src/config/extension.js.map +1 -1
  35. package/dist/src/config/extension.test.js +316 -159
  36. package/dist/src/config/extension.test.js.map +1 -1
  37. package/dist/src/config/extensions/consent.d.ts +38 -0
  38. package/dist/src/config/extensions/consent.js +123 -0
  39. package/dist/src/config/extensions/consent.js.map +1 -0
  40. package/dist/src/config/extensions/extensionEnablement.js +1 -1
  41. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  42. package/dist/src/config/extensions/extensionSettings.d.ts +15 -0
  43. package/dist/src/config/extensions/extensionSettings.js +63 -0
  44. package/dist/src/config/extensions/extensionSettings.js.map +1 -0
  45. package/dist/src/config/extensions/extensionSettings.test.d.ts +6 -0
  46. package/dist/src/config/extensions/extensionSettings.test.js +137 -0
  47. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -0
  48. package/dist/src/config/extensions/github.d.ts +2 -2
  49. package/dist/src/config/extensions/github.js +3 -8
  50. package/dist/src/config/extensions/github.js.map +1 -1
  51. package/dist/src/config/extensions/github.test.js +25 -7
  52. package/dist/src/config/extensions/github.test.js.map +1 -1
  53. package/dist/src/config/extensions/storage.d.ts +14 -0
  54. package/dist/src/config/extensions/storage.js +32 -0
  55. package/dist/src/config/extensions/storage.js.map +1 -0
  56. package/dist/src/config/extensions/update.d.ts +4 -4
  57. package/dist/src/config/extensions/update.js +11 -18
  58. package/dist/src/config/extensions/update.js.map +1 -1
  59. package/dist/src/config/extensions/update.test.js +32 -58
  60. package/dist/src/config/extensions/update.test.js.map +1 -1
  61. package/dist/src/config/extensions/variableSchema.d.ts +0 -6
  62. package/dist/src/config/extensions/variableSchema.js.map +1 -1
  63. package/dist/src/config/extensions/variables.d.ts +4 -0
  64. package/dist/src/config/extensions/variables.js +6 -0
  65. package/dist/src/config/extensions/variables.js.map +1 -1
  66. package/dist/src/config/settings.d.ts +2 -1
  67. package/dist/src/config/settings.js +4 -7
  68. package/dist/src/config/settings.js.map +1 -1
  69. package/dist/src/config/settings.test.js +113 -14
  70. package/dist/src/config/settings.test.js.map +1 -1
  71. package/dist/src/config/settingsSchema.d.ts +9 -0
  72. package/dist/src/config/settingsSchema.js +9 -0
  73. package/dist/src/config/settingsSchema.js.map +1 -1
  74. package/dist/src/gemini.js +22 -5
  75. package/dist/src/gemini.js.map +1 -1
  76. package/dist/src/generated/git-commit.d.ts +2 -2
  77. package/dist/src/generated/git-commit.js +2 -2
  78. package/dist/src/generated/git-commit.js.map +1 -1
  79. package/dist/src/nonInteractiveCli.js +14 -1
  80. package/dist/src/nonInteractiveCli.js.map +1 -1
  81. package/dist/src/nonInteractiveCli.test.js +84 -2
  82. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  83. package/dist/src/test-utils/createExtension.d.ts +3 -1
  84. package/dist/src/test-utils/createExtension.js +3 -3
  85. package/dist/src/test-utils/createExtension.js.map +1 -1
  86. package/dist/src/ui/AppContainer.js +101 -47
  87. package/dist/src/ui/AppContainer.js.map +1 -1
  88. package/dist/src/ui/AppContainer.test.js +138 -79
  89. package/dist/src/ui/AppContainer.test.js.map +1 -1
  90. package/dist/src/ui/commands/extensionsCommand.js +19 -10
  91. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  92. package/dist/src/ui/commands/extensionsCommand.test.js +8 -0
  93. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  94. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  95. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  96. package/dist/src/ui/components/InputPrompt.js +5 -6
  97. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  98. package/dist/src/ui/components/InputPrompt.test.js +249 -393
  99. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  100. package/dist/src/ui/components/SettingsDialog.test.js +0 -29
  101. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  102. package/dist/src/ui/components/views/ExtensionsList.d.ts +7 -1
  103. package/dist/src/ui/components/views/ExtensionsList.js +4 -10
  104. package/dist/src/ui/components/views/ExtensionsList.js.map +1 -1
  105. package/dist/src/ui/components/views/ExtensionsList.test.js +34 -21
  106. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
  107. package/dist/src/ui/contexts/KeypressContext.js +328 -335
  108. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  109. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +10 -0
  110. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
  111. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +30 -0
  112. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  113. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +14 -4
  114. package/dist/src/ui/hooks/useExtensionUpdates.js +14 -17
  115. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  116. package/dist/src/ui/hooks/useExtensionUpdates.test.js +23 -30
  117. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  118. package/dist/src/ui/hooks/useGitBranchName.js +4 -0
  119. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  120. package/dist/src/ui/hooks/useGitBranchName.test.js +19 -21
  121. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  122. package/dist/src/ui/hooks/useReactToolScheduler.js +22 -8
  123. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  124. package/dist/src/ui/hooks/useReactToolScheduler.test.d.ts +6 -0
  125. package/dist/src/ui/hooks/useReactToolScheduler.test.js +65 -0
  126. package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +1 -0
  127. package/dist/src/ui/hooks/useToolScheduler.test.js +30 -48
  128. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  129. package/dist/src/ui/types.d.ts +2 -1
  130. package/dist/src/ui/types.js.map +1 -1
  131. package/dist/src/ui/utils/CodeColorizer.js +2 -1
  132. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  133. package/dist/src/utils/envVarResolver.d.ts +2 -2
  134. package/dist/src/utils/envVarResolver.js +10 -7
  135. package/dist/src/utils/envVarResolver.js.map +1 -1
  136. package/dist/src/zed-integration/schema.d.ts +4 -4
  137. package/dist/src/zed-integration/zedIntegration.js +3 -3
  138. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  139. package/dist/tsconfig.tsbuildinfo +1 -1
  140. package/package.json +4 -3
@@ -5,51 +5,64 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
7
  import { render } from 'ink-testing-library';
8
- import { vi } from 'vitest';
8
+ import { vi, describe, beforeEach, it, expect } from 'vitest';
9
9
  import { useUIState } from '../../contexts/UIStateContext.js';
10
10
  import { ExtensionUpdateState } from '../../state/extensions.js';
11
11
  import { ExtensionsList } from './ExtensionsList.js';
12
- import { createMockCommandContext } from '../../../test-utils/mockCommandContext.js';
13
12
  vi.mock('../../contexts/UIStateContext.js');
14
13
  const mockUseUIState = vi.mocked(useUIState);
15
14
  const mockExtensions = [
16
- { name: 'ext-one', version: '1.0.0', isActive: true },
17
- { name: 'ext-two', version: '2.1.0', isActive: true },
18
- { name: 'ext-disabled', version: '3.0.0', isActive: false },
15
+ {
16
+ name: 'ext-one',
17
+ version: '1.0.0',
18
+ isActive: true,
19
+ path: '/path/to/ext-one',
20
+ contextFiles: [],
21
+ id: '',
22
+ },
23
+ {
24
+ name: 'ext-two',
25
+ version: '2.1.0',
26
+ isActive: true,
27
+ path: '/path/to/ext-two',
28
+ contextFiles: [],
29
+ id: '',
30
+ },
31
+ {
32
+ name: 'ext-disabled',
33
+ version: '3.0.0',
34
+ isActive: false,
35
+ path: '/path/to/ext-disabled',
36
+ contextFiles: [],
37
+ id: '',
38
+ },
19
39
  ];
20
40
  describe('<ExtensionsList />', () => {
21
41
  beforeEach(() => {
22
42
  vi.resetAllMocks();
23
43
  });
24
- const mockUIState = (extensions, extensionsUpdateState) => {
44
+ const mockUIState = (extensionsUpdateState) => {
25
45
  mockUseUIState.mockReturnValue({
26
- commandContext: createMockCommandContext({
27
- services: {
28
- config: {
29
- getExtensions: () => extensions,
30
- },
31
- },
32
- }),
33
46
  extensionsUpdateState,
34
47
  // Add other required properties from UIState if needed by the component
35
48
  });
36
49
  };
37
50
  it('should render "No extensions installed." if there are no extensions', () => {
38
- mockUIState([], new Map());
39
- const { lastFrame } = render(_jsx(ExtensionsList, {}));
51
+ mockUIState(new Map());
52
+ const { lastFrame } = render(_jsx(ExtensionsList, { extensions: [] }));
40
53
  expect(lastFrame()).toContain('No extensions installed.');
41
54
  });
42
55
  it('should render a list of extensions with their version and status', () => {
43
- mockUIState(mockExtensions, new Map());
44
- const { lastFrame } = render(_jsx(ExtensionsList, {}));
56
+ mockUIState(new Map());
57
+ const { lastFrame } = render(_jsx(ExtensionsList, { extensions: mockExtensions }));
45
58
  const output = lastFrame();
46
59
  expect(output).toContain('ext-one (v1.0.0) - active');
47
60
  expect(output).toContain('ext-two (v2.1.0) - active');
48
61
  expect(output).toContain('ext-disabled (v3.0.0) - disabled');
49
62
  });
50
63
  it('should display "unknown state" if an extension has no update state', () => {
51
- mockUIState([mockExtensions[0]], new Map());
52
- const { lastFrame } = render(_jsx(ExtensionsList, {}));
64
+ mockUIState(new Map());
65
+ const { lastFrame } = render(_jsx(ExtensionsList, { extensions: [mockExtensions[0]] }));
53
66
  expect(lastFrame()).toContain('(unknown state)');
54
67
  });
55
68
  const stateTestCases = [
@@ -81,8 +94,8 @@ describe('<ExtensionsList />', () => {
81
94
  for (const { state, expectedText } of stateTestCases) {
82
95
  it(`should correctly display the state: ${state}`, () => {
83
96
  const updateState = new Map([[mockExtensions[0].name, state]]);
84
- mockUIState([mockExtensions[0]], updateState);
85
- const { lastFrame } = render(_jsx(ExtensionsList, {}));
97
+ mockUIState(updateState);
98
+ const { lastFrame } = render(_jsx(ExtensionsList, { extensions: [mockExtensions[0]] }));
86
99
  expect(lastFrame()).toContain(expectedText);
87
100
  });
88
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionsList.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/views/ExtensionsList.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionsList.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/views/ExtensionsList.test.tsx"],"names":[],"mappings":"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"}