@google/gemini-cli 0.24.0-nightly.20260103.30f5c4af4 → 0.24.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/dist/google-gemini-cli-0.24.0-preview.0.tgz +0 -0
  2. package/dist/package.json +3 -3
  3. package/dist/src/commands/extensions/settings.js +4 -0
  4. package/dist/src/commands/extensions/settings.js.map +1 -1
  5. package/dist/src/commands/extensions/settings.test.d.ts +6 -0
  6. package/dist/src/commands/extensions/settings.test.js +170 -0
  7. package/dist/src/commands/extensions/settings.test.js.map +1 -0
  8. package/dist/src/commands/hooks/migrate.js +1 -1
  9. package/dist/src/commands/hooks/migrate.js.map +1 -1
  10. package/dist/src/commands/hooks/migrate.test.js +1 -1
  11. package/dist/src/commands/hooks/migrate.test.js.map +1 -1
  12. package/dist/src/commands/skills/disable.d.ts +14 -0
  13. package/dist/src/commands/skills/disable.js +47 -0
  14. package/dist/src/commands/skills/disable.js.map +1 -0
  15. package/dist/src/commands/skills/disable.test.d.ts +6 -0
  16. package/dist/src/commands/skills/disable.test.js +80 -0
  17. package/dist/src/commands/skills/disable.test.js.map +1 -0
  18. package/dist/src/commands/skills/enable.d.ts +14 -0
  19. package/dist/src/commands/skills/enable.js +47 -0
  20. package/dist/src/commands/skills/enable.js.map +1 -0
  21. package/dist/src/commands/skills/enable.test.d.ts +6 -0
  22. package/dist/src/commands/skills/enable.test.js +80 -0
  23. package/dist/src/commands/skills/enable.test.js.map +1 -0
  24. package/dist/src/commands/skills/list.d.ts +8 -0
  25. package/dist/src/commands/skills/list.js +46 -0
  26. package/dist/src/commands/skills/list.js.map +1 -0
  27. package/dist/src/commands/skills/list.test.d.ts +6 -0
  28. package/dist/src/commands/skills/list.test.js +102 -0
  29. package/dist/src/commands/skills/list.test.js.map +1 -0
  30. package/dist/src/commands/skills.d.ts +7 -0
  31. package/dist/src/commands/skills.js +26 -0
  32. package/dist/src/commands/skills.js.map +1 -0
  33. package/dist/src/commands/skills.test.d.ts +6 -0
  34. package/dist/src/commands/skills.test.js +49 -0
  35. package/dist/src/commands/skills.test.js.map +1 -0
  36. package/dist/src/config/config.js +57 -21
  37. package/dist/src/config/config.js.map +1 -1
  38. package/dist/src/config/config.test.js +187 -1
  39. package/dist/src/config/config.test.js.map +1 -1
  40. package/dist/src/config/extension-manager-skills.test.d.ts +6 -0
  41. package/dist/src/config/extension-manager-skills.test.js +98 -0
  42. package/dist/src/config/extension-manager-skills.test.js.map +1 -0
  43. package/dist/src/config/extension-manager.js +27 -17
  44. package/dist/src/config/extension-manager.js.map +1 -1
  45. package/dist/src/config/extension.test.js +16 -10
  46. package/dist/src/config/extension.test.js.map +1 -1
  47. package/dist/src/config/extensions/consent.d.ts +5 -3
  48. package/dist/src/config/extensions/consent.js +30 -7
  49. package/dist/src/config/extensions/consent.js.map +1 -1
  50. package/dist/src/config/extensions/consent.test.js +97 -3
  51. package/dist/src/config/extensions/consent.test.js.map +1 -1
  52. package/dist/src/config/extensions/extensionSettings.d.ts +1 -0
  53. package/dist/src/config/extensions/extensionSettings.js +14 -0
  54. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  55. package/dist/src/config/extensions/extensionUpdates.test.d.ts +6 -0
  56. package/dist/src/config/extensions/extensionUpdates.test.js +243 -0
  57. package/dist/src/config/extensions/extensionUpdates.test.js.map +1 -0
  58. package/dist/src/config/settings.d.ts +2 -1
  59. package/dist/src/config/settings.js +25 -6
  60. package/dist/src/config/settings.js.map +1 -1
  61. package/dist/src/config/settings.test.js +86 -28
  62. package/dist/src/config/settings.test.js.map +1 -1
  63. package/dist/src/config/settingsSchema.d.ts +99 -5
  64. package/dist/src/config/settingsSchema.js +101 -5
  65. package/dist/src/config/settingsSchema.js.map +1 -1
  66. package/dist/src/config/settingsSchema.test.js +8 -0
  67. package/dist/src/config/settingsSchema.test.js.map +1 -1
  68. package/dist/src/gemini.js +22 -9
  69. package/dist/src/gemini.js.map +1 -1
  70. package/dist/src/generated/git-commit.d.ts +2 -2
  71. package/dist/src/generated/git-commit.js +2 -2
  72. package/dist/src/generated/git-commit.js.map +1 -1
  73. package/dist/src/nonInteractiveCli.js +24 -0
  74. package/dist/src/nonInteractiveCli.js.map +1 -1
  75. package/dist/src/nonInteractiveCli.test.js +44 -0
  76. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  77. package/dist/src/services/BuiltinCommandLoader.d.ts +1 -1
  78. package/dist/src/services/BuiltinCommandLoader.js +17 -1
  79. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  80. package/dist/src/services/BuiltinCommandLoader.test.js +3 -0
  81. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  82. package/dist/src/ui/AppContainer.js +41 -8
  83. package/dist/src/ui/AppContainer.js.map +1 -1
  84. package/dist/src/ui/AppContainer.test.js +16 -0
  85. package/dist/src/ui/AppContainer.test.js.map +1 -1
  86. package/dist/src/ui/commands/clearCommand.js +9 -1
  87. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  88. package/dist/src/ui/commands/hooksCommand.js +1 -1
  89. package/dist/src/ui/commands/hooksCommand.js.map +1 -1
  90. package/dist/src/ui/commands/hooksCommand.test.js +1 -1
  91. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
  92. package/dist/src/ui/commands/mcpCommand.test.js +10 -2
  93. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
  94. package/dist/src/ui/commands/skillsCommand.d.ts +1 -1
  95. package/dist/src/ui/commands/skillsCommand.js +79 -5
  96. package/dist/src/ui/commands/skillsCommand.js.map +1 -1
  97. package/dist/src/ui/commands/skillsCommand.test.d.ts +1 -1
  98. package/dist/src/ui/commands/skillsCommand.test.js +146 -6
  99. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  100. package/dist/src/ui/components/Composer.js +4 -6
  101. package/dist/src/ui/components/Composer.js.map +1 -1
  102. package/dist/src/ui/components/Composer.test.js +12 -0
  103. package/dist/src/ui/components/Composer.test.js.map +1 -1
  104. package/dist/src/ui/components/ContextSummaryDisplay.test.js +54 -26
  105. package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
  106. package/dist/src/ui/components/FolderTrustDialog.js +19 -14
  107. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  108. package/dist/src/ui/components/FolderTrustDialog.test.js +12 -2
  109. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  110. package/dist/src/ui/components/Footer.js +4 -4
  111. package/dist/src/ui/components/Footer.js.map +1 -1
  112. package/dist/src/ui/components/HookStatusDisplay.d.ts +12 -0
  113. package/dist/src/ui/components/HookStatusDisplay.js +20 -0
  114. package/dist/src/ui/components/HookStatusDisplay.js.map +1 -0
  115. package/dist/src/ui/components/HookStatusDisplay.test.d.ts +6 -0
  116. package/dist/src/ui/components/HookStatusDisplay.test.js +51 -0
  117. package/dist/src/ui/components/HookStatusDisplay.test.js.map +1 -0
  118. package/dist/src/ui/components/InputPrompt.js +14 -6
  119. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  120. package/dist/src/ui/components/InputPrompt.test.js +21 -2
  121. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  122. package/dist/src/ui/components/ModelDialog.js +7 -3
  123. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  124. package/dist/src/ui/components/ModelDialog.test.js +16 -3
  125. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  126. package/dist/src/ui/components/SettingsDialog.js +33 -13
  127. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  128. package/dist/src/ui/components/SettingsDialog.test.js +16 -0
  129. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  130. package/dist/src/ui/components/StatusDisplay.d.ts +11 -0
  131. package/dist/src/ui/components/StatusDisplay.js +40 -0
  132. package/dist/src/ui/components/StatusDisplay.js.map +1 -0
  133. package/dist/src/ui/components/StatusDisplay.test.d.ts +6 -0
  134. package/dist/src/ui/components/StatusDisplay.test.js +143 -0
  135. package/dist/src/ui/components/StatusDisplay.test.js.map +1 -0
  136. package/dist/src/ui/components/views/SkillsList.test.js +22 -4
  137. package/dist/src/ui/components/views/SkillsList.test.js.map +1 -1
  138. package/dist/src/ui/constants/tips.js +0 -1
  139. package/dist/src/ui/constants/tips.js.map +1 -1
  140. package/dist/src/ui/constants.d.ts +2 -0
  141. package/dist/src/ui/constants.js +2 -0
  142. package/dist/src/ui/constants.js.map +1 -1
  143. package/dist/src/ui/contexts/KeypressContext.d.ts +1 -0
  144. package/dist/src/ui/contexts/KeypressContext.js +79 -6
  145. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  146. package/dist/src/ui/contexts/KeypressContext.test.js +71 -0
  147. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  148. package/dist/src/ui/contexts/UIStateContext.d.ts +3 -1
  149. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  150. package/dist/src/ui/hooks/atCommandProcessor.js +1 -1
  151. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  152. package/dist/src/ui/hooks/atCommandProcessor.test.js +9 -3
  153. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  154. package/dist/src/ui/hooks/useFolderTrust.js +14 -19
  155. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  156. package/dist/src/ui/hooks/useFolderTrust.test.js +30 -22
  157. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  158. package/dist/src/ui/hooks/useGeminiStream.js +29 -0
  159. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  160. package/dist/src/ui/hooks/useGeminiStream.test.js +39 -0
  161. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  162. package/dist/src/ui/hooks/useHookDisplayState.d.ts +7 -0
  163. package/dist/src/ui/hooks/useHookDisplayState.js +83 -0
  164. package/dist/src/ui/hooks/useHookDisplayState.js.map +1 -0
  165. package/dist/src/ui/hooks/useHookDisplayState.test.d.ts +6 -0
  166. package/dist/src/ui/hooks/useHookDisplayState.test.js +180 -0
  167. package/dist/src/ui/hooks/useHookDisplayState.test.js.map +1 -0
  168. package/dist/src/ui/hooks/useToolScheduler.test.js +2 -1
  169. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  170. package/dist/src/ui/types.d.ts +8 -7
  171. package/dist/src/ui/types.js.map +1 -1
  172. package/dist/src/ui/utils/commandUtils.js +12 -7
  173. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  174. package/dist/src/ui/utils/commandUtils.test.js +24 -0
  175. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  176. package/dist/src/ui/utils/terminalCapabilityManager.d.ts +7 -4
  177. package/dist/src/ui/utils/terminalCapabilityManager.js +61 -66
  178. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
  179. package/dist/src/ui/utils/terminalCapabilityManager.test.js +35 -0
  180. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
  181. package/dist/src/ui/utils/ui-sizing.js +1 -1
  182. package/dist/src/ui/utils/ui-sizing.js.map +1 -1
  183. package/dist/src/ui/utils/ui-sizing.test.js +2 -2
  184. package/dist/src/ui/utils/ui-sizing.test.js.map +1 -1
  185. package/dist/src/utils/settingsUtils.js +0 -5
  186. package/dist/src/utils/settingsUtils.js.map +1 -1
  187. package/dist/src/zed-integration/zedIntegration.js +1 -1
  188. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  189. package/dist/src/zed-integration/zedIntegration.test.js +12 -0
  190. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
  191. package/dist/tsconfig.tsbuildinfo +1 -1
  192. package/package.json +4 -4
  193. package/dist/google-gemini-cli-0.24.0-nightly.20251227.37be16243.tgz +0 -0
  194. package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
  195. package/dist/src/ui/hooks/useBracketedPaste.js +0 -31
  196. package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
  197. package/dist/src/ui/utils/bracketedPaste.d.ts +0 -7
  198. package/dist/src/ui/utils/bracketedPaste.js +0 -15
  199. package/dist/src/ui/utils/bracketedPaste.js.map +0 -1
@@ -0,0 +1,143 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { describe, it, expect, vi, afterEach } from 'vitest';
8
+ import { render } from '../../test-utils/render.js';
9
+ import { Text } from 'ink';
10
+ import { StatusDisplay } from './StatusDisplay.js';
11
+ import { UIStateContext } from '../contexts/UIStateContext.js';
12
+ import { ConfigContext } from '../contexts/ConfigContext.js';
13
+ import { SettingsContext } from '../contexts/SettingsContext.js';
14
+ // Mock child components to simplify testing
15
+ vi.mock('./ContextSummaryDisplay.js', () => ({
16
+ ContextSummaryDisplay: (props) => (_jsxs(Text, { children: ["Mock Context Summary Display (Skills: ", props.skillCount, ")"] })),
17
+ }));
18
+ vi.mock('./HookStatusDisplay.js', () => ({
19
+ HookStatusDisplay: () => _jsx(Text, { children: "Mock Hook Status Display" }),
20
+ }));
21
+ // Create mock context providers
22
+ const createMockUIState = (overrides = {}) => ({
23
+ ctrlCPressedOnce: false,
24
+ warningMessage: null,
25
+ ctrlDPressedOnce: false,
26
+ showEscapePrompt: false,
27
+ queueErrorMessage: null,
28
+ activeHooks: [],
29
+ ideContextState: null,
30
+ geminiMdFileCount: 0,
31
+ contextFileNames: [],
32
+ ...overrides,
33
+ });
34
+ const createMockConfig = (overrides = {}) => ({
35
+ getMcpClientManager: vi.fn().mockImplementation(() => ({
36
+ getBlockedMcpServers: vi.fn(() => []),
37
+ getMcpServers: vi.fn(() => ({})),
38
+ })),
39
+ getSkillManager: vi.fn().mockImplementation(() => ({
40
+ getSkills: vi.fn(() => ['skill1', 'skill2']),
41
+ })),
42
+ ...overrides,
43
+ });
44
+ const createMockSettings = (merged = {}) => ({
45
+ merged: {
46
+ hooks: { notifications: true },
47
+ ui: { hideContextSummary: false },
48
+ ...merged,
49
+ },
50
+ });
51
+ /* eslint-disable @typescript-eslint/no-explicit-any */
52
+ const renderStatusDisplay = (props = { hideContextSummary: false }, uiState = createMockUIState(), settings = createMockSettings(), config = createMockConfig()) => render(_jsx(ConfigContext.Provider, { value: config, children: _jsx(SettingsContext.Provider, { value: settings, children: _jsx(UIStateContext.Provider, { value: uiState, children: _jsx(StatusDisplay, { ...props }) }) }) }));
53
+ /* eslint-enable @typescript-eslint/no-explicit-any */
54
+ describe('StatusDisplay', () => {
55
+ const originalEnv = process.env;
56
+ afterEach(() => {
57
+ process.env = { ...originalEnv };
58
+ delete process.env['GEMINI_SYSTEM_MD'];
59
+ });
60
+ it('renders nothing by default if context summary is hidden via props', () => {
61
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: true });
62
+ expect(lastFrame()).toBe('');
63
+ });
64
+ it('renders ContextSummaryDisplay by default', () => {
65
+ const { lastFrame } = renderStatusDisplay();
66
+ expect(lastFrame()).toMatchSnapshot();
67
+ });
68
+ it('renders system md indicator if env var is set', () => {
69
+ process.env['GEMINI_SYSTEM_MD'] = 'true';
70
+ const { lastFrame } = renderStatusDisplay();
71
+ expect(lastFrame()).toMatchSnapshot();
72
+ });
73
+ it('prioritizes Ctrl+C prompt over everything else (except system md)', () => {
74
+ const uiState = createMockUIState({
75
+ ctrlCPressedOnce: true,
76
+ warningMessage: 'Warning',
77
+ activeHooks: [{ name: 'hook', eventName: 'event' }],
78
+ });
79
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: false }, uiState);
80
+ expect(lastFrame()).toMatchSnapshot();
81
+ });
82
+ it('renders warning message', () => {
83
+ const uiState = createMockUIState({
84
+ warningMessage: 'This is a warning',
85
+ });
86
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: false }, uiState);
87
+ expect(lastFrame()).toMatchSnapshot();
88
+ });
89
+ it('prioritizes warning over Ctrl+D', () => {
90
+ const uiState = createMockUIState({
91
+ warningMessage: 'Warning',
92
+ ctrlDPressedOnce: true,
93
+ });
94
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: false }, uiState);
95
+ expect(lastFrame()).toMatchSnapshot();
96
+ });
97
+ it('renders Ctrl+D prompt', () => {
98
+ const uiState = createMockUIState({
99
+ ctrlDPressedOnce: true,
100
+ });
101
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: false }, uiState);
102
+ expect(lastFrame()).toMatchSnapshot();
103
+ });
104
+ it('renders Escape prompt', () => {
105
+ const uiState = createMockUIState({
106
+ showEscapePrompt: true,
107
+ });
108
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: false }, uiState);
109
+ expect(lastFrame()).toMatchSnapshot();
110
+ });
111
+ it('renders Queue Error Message', () => {
112
+ const uiState = createMockUIState({
113
+ queueErrorMessage: 'Queue Error',
114
+ });
115
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: false }, uiState);
116
+ expect(lastFrame()).toMatchSnapshot();
117
+ });
118
+ it('renders HookStatusDisplay when hooks are active', () => {
119
+ const uiState = createMockUIState({
120
+ activeHooks: [{ name: 'hook', eventName: 'event' }],
121
+ });
122
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: false }, uiState);
123
+ expect(lastFrame()).toMatchSnapshot();
124
+ });
125
+ it('does NOT render HookStatusDisplay if notifications are disabled in settings', () => {
126
+ const uiState = createMockUIState({
127
+ activeHooks: [{ name: 'hook', eventName: 'event' }],
128
+ });
129
+ const settings = createMockSettings({
130
+ hooks: { notifications: false },
131
+ });
132
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: false }, uiState, settings);
133
+ expect(lastFrame()).toMatchSnapshot();
134
+ });
135
+ it('hides ContextSummaryDisplay if configured in settings', () => {
136
+ const settings = createMockSettings({
137
+ ui: { hideContextSummary: true },
138
+ });
139
+ const { lastFrame } = renderStatusDisplay({ hideContextSummary: false }, undefined, settings);
140
+ expect(lastFrame()).toBe('');
141
+ });
142
+ });
143
+ //# sourceMappingURL=StatusDisplay.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/components/StatusDisplay.test.tsx"],"names":[],"mappings":"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"}
@@ -7,12 +7,30 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
7
  import { render } from '../../../test-utils/render.js';
8
8
  import { describe, it, expect } from 'vitest';
9
9
  import { SkillsList } from './SkillsList.js';
10
- import {} from '../../types.js';
10
+ import {} from '@google/gemini-cli-core';
11
11
  describe('SkillsList Component', () => {
12
12
  const mockSkills = [
13
- { name: 'skill1', description: 'description 1', disabled: false },
14
- { name: 'skill2', description: 'description 2', disabled: true },
15
- { name: 'skill3', description: 'description 3', disabled: false },
13
+ {
14
+ name: 'skill1',
15
+ description: 'description 1',
16
+ disabled: false,
17
+ location: 'loc1',
18
+ body: 'body1',
19
+ },
20
+ {
21
+ name: 'skill2',
22
+ description: 'description 2',
23
+ disabled: true,
24
+ location: 'loc2',
25
+ body: 'body2',
26
+ },
27
+ {
28
+ name: 'skill3',
29
+ description: 'description 3',
30
+ disabled: false,
31
+ location: 'loc3',
32
+ body: 'body3',
33
+ },
16
34
  ];
17
35
  it('should render enabled and disabled skills separately', () => {
18
36
  const { lastFrame, unmount } = render(_jsx(SkillsList, { skills: mockSkills, showDescriptions: true }));
@@ -1 +1 @@
1
- {"version":3,"file":"SkillsList.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/views/SkillsList.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SkillsList.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/views/SkillsList.test.tsx"],"names":[],"mappings":"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"}
@@ -74,7 +74,6 @@ export const INFORMATIVE_TIPS = [
74
74
  'Set the character threshold for truncating tool outputs (/settings)...',
75
75
  'Set the number of lines to keep when truncating outputs (/settings)...',
76
76
  'Enable policy-based tool confirmation via message bus (/settings)...',
77
- 'Enable smart-edit tool for more precise editing (/settings)...',
78
77
  'Enable write_todos_list tool to generate task lists (/settings)...',
79
78
  'Enable model routing based on complexity (/settings)...',
80
79
  'Enable experimental subagents for task delegation (/settings)...',
@@ -1 +1 @@
1
- {"version":3,"file":"tips.js","sourceRoot":"","sources":["../../../../src/ui/constants/tips.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tips.js","sourceRoot":"","sources":["../../../../src/ui/constants/tips.ts"],"names":[],"mappings":"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"}
@@ -16,3 +16,5 @@ export declare const TOOL_STATUS: {
16
16
  readonly ERROR: "x";
17
17
  };
18
18
  export declare const MAX_MCP_RESOURCES_TO_SHOW = 10;
19
+ export declare const WARNING_PROMPT_DURATION_MS = 1000;
20
+ export declare const QUEUE_ERROR_DISPLAY_DURATION_MS = 3000;
@@ -22,4 +22,6 @@ export const TOOL_STATUS = {
22
22
  };
23
23
  // Maximum number of MCP resources to display per server before truncating
24
24
  export const MAX_MCP_RESOURCES_TO_SHOW = 10;
25
+ export const WARNING_PROMPT_DURATION_MS = 1000;
26
+ export const QUEUE_ERROR_DISPLAY_DURATION_MS = 3000;
25
27
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/ui/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS;AACT,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;CACF,CAAC;AAEX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/ui/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS;AACT,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;CACF,CAAC;AAEX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAC/C,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC"}
@@ -8,6 +8,7 @@ import type React from 'react';
8
8
  export declare const BACKSLASH_ENTER_TIMEOUT = 5;
9
9
  export declare const ESC_TIMEOUT = 50;
10
10
  export declare const PASTE_TIMEOUT = 30000;
11
+ export declare const FAST_RETURN_TIMEOUT = 30;
11
12
  export interface Key {
12
13
  name: string;
13
14
  ctrl: boolean;
@@ -11,9 +11,11 @@ import { ESC } from '../utils/input.js';
11
11
  import { parseMouseEvent } from '../utils/mouse.js';
12
12
  import { FOCUS_IN, FOCUS_OUT } from '../hooks/useFocus.js';
13
13
  import { appEvents, AppEvent } from '../../utils/events.js';
14
+ import { terminalCapabilityManager } from '../utils/terminalCapabilityManager.js';
14
15
  export const BACKSLASH_ENTER_TIMEOUT = 5;
15
16
  export const ESC_TIMEOUT = 50;
16
17
  export const PASTE_TIMEOUT = 30_000;
18
+ export const FAST_RETURN_TIMEOUT = 30;
17
19
  // Parse the key itself
18
20
  const KEY_INFO_MAP = {
19
21
  '[200~': { name: 'paste-start' },
@@ -158,6 +160,30 @@ function bufferBackslashEnter(keypressHandler) {
158
160
  bufferer.next(); // prime the generator so it starts listening.
159
161
  return (key) => bufferer.next(key);
160
162
  }
163
+ /**
164
+ * Converts return keys pressed quickly after other keys into plain
165
+ * insertable return characters.
166
+ *
167
+ * This is to accomodate older terminals that paste text without bracketing.
168
+ */
169
+ function bufferFastReturn(keypressHandler) {
170
+ let lastKeyTime = 0;
171
+ return (key) => {
172
+ const now = Date.now();
173
+ if (key.name === 'return' && now - lastKeyTime <= FAST_RETURN_TIMEOUT) {
174
+ keypressHandler({
175
+ ...key,
176
+ name: '',
177
+ sequence: '\r',
178
+ insertable: true,
179
+ });
180
+ }
181
+ else {
182
+ keypressHandler(key);
183
+ }
184
+ lastKeyTime = now;
185
+ };
186
+ }
161
187
  /**
162
188
  * Buffers paste events between paste-start and paste-end sequences.
163
189
  * Will flush the buffer if no data is received for PASTE_TIMEOUT ms or
@@ -248,11 +274,55 @@ function* emitKeys(keypressHandler) {
248
274
  sequence += ch;
249
275
  }
250
276
  }
251
- if (escaped && (ch === 'O' || ch === '[')) {
277
+ if (escaped && (ch === 'O' || ch === '[' || ch === ']')) {
252
278
  // ANSI escape sequence
253
279
  code = ch;
254
280
  let modifier = 0;
255
- if (ch === 'O') {
281
+ if (ch === ']') {
282
+ // OSC sequence
283
+ // ESC ] <params> ; <data> BEL
284
+ // ESC ] <params> ; <data> ESC \
285
+ let buffer = '';
286
+ // Read until BEL, `ESC \`, or timeout (empty string)
287
+ while (true) {
288
+ const next = yield;
289
+ if (next === '' || next === '\u0007') {
290
+ break;
291
+ }
292
+ else if (next === ESC) {
293
+ const afterEsc = yield;
294
+ if (afterEsc === '' || afterEsc === '\\') {
295
+ break;
296
+ }
297
+ buffer += next + afterEsc;
298
+ continue;
299
+ }
300
+ buffer += next;
301
+ }
302
+ // Check for OSC 52 (Clipboard) response
303
+ // Format: 52;c;<base64> or 52;p;<base64>
304
+ const match = /^52;[cp];(.*)$/.exec(buffer);
305
+ if (match) {
306
+ try {
307
+ const base64Data = match[1];
308
+ const decoded = Buffer.from(base64Data, 'base64').toString('utf-8');
309
+ keypressHandler({
310
+ name: 'paste',
311
+ ctrl: false,
312
+ meta: false,
313
+ shift: false,
314
+ paste: true,
315
+ insertable: true,
316
+ sequence: decoded,
317
+ });
318
+ }
319
+ catch (_e) {
320
+ debugLogger.log('Failed to decode OSC 52 clipboard data');
321
+ }
322
+ }
323
+ continue; // resume main loop
324
+ }
325
+ else if (ch === 'O') {
256
326
  // ESC O letter
257
327
  // ESC O modifier letter
258
328
  ch = yield;
@@ -503,10 +573,13 @@ export function KeypressProvider({ children, config, debugKeystrokeLogging, }) {
503
573
  setRawMode(true);
504
574
  }
505
575
  process.stdin.setEncoding('utf8'); // Make data events emit strings
506
- const mouseFilterer = nonKeyboardEventFilter(broadcast);
507
- const backslashBufferer = bufferBackslashEnter(mouseFilterer);
508
- const pasteBufferer = bufferPaste(backslashBufferer);
509
- let dataListener = createDataListener(pasteBufferer);
576
+ let processor = nonKeyboardEventFilter(broadcast);
577
+ if (!terminalCapabilityManager.isBracketedPasteEnabled()) {
578
+ processor = bufferFastReturn(processor);
579
+ }
580
+ processor = bufferBackslashEnter(processor);
581
+ processor = bufferPaste(processor);
582
+ let dataListener = createDataListener(processor);
510
583
  if (debugKeystrokeLogging) {
511
584
  const old = dataListener;
512
585
  dataListener = (data) => {
@@ -1 +1 @@
1
- {"version":3,"file":"KeypressContext.js","sourceRoot":"","sources":["../../../../src/ui/contexts/KeypressContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeypressContext.js","sourceRoot":"","sources":["../../../../src/ui/contexts/KeypressContext.tsx"],"names":[],"mappings":"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"}
@@ -239,6 +239,77 @@ describe('KeypressContext', () => {
239
239
  sequence: pastedText,
240
240
  }));
241
241
  });
242
+ it('should parse valid OSC 52 response', async () => {
243
+ const keyHandler = vi.fn();
244
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
245
+ act(() => result.current.subscribe(keyHandler));
246
+ const base64Data = Buffer.from('Hello OSC 52').toString('base64');
247
+ const sequence = `\x1b]52;c;${base64Data}\x07`;
248
+ act(() => stdin.write(sequence));
249
+ await waitFor(() => {
250
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
251
+ name: 'paste',
252
+ paste: true,
253
+ sequence: 'Hello OSC 52',
254
+ }));
255
+ });
256
+ });
257
+ it('should handle split OSC 52 response', async () => {
258
+ const keyHandler = vi.fn();
259
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
260
+ act(() => result.current.subscribe(keyHandler));
261
+ const base64Data = Buffer.from('Split Paste').toString('base64');
262
+ const sequence = `\x1b]52;c;${base64Data}\x07`;
263
+ // Split the sequence
264
+ const part1 = sequence.slice(0, 5);
265
+ const part2 = sequence.slice(5);
266
+ act(() => stdin.write(part1));
267
+ act(() => stdin.write(part2));
268
+ await waitFor(() => {
269
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
270
+ name: 'paste',
271
+ paste: true,
272
+ sequence: 'Split Paste',
273
+ }));
274
+ });
275
+ });
276
+ it('should handle OSC 52 response terminated by ESC \\', async () => {
277
+ const keyHandler = vi.fn();
278
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
279
+ act(() => result.current.subscribe(keyHandler));
280
+ const base64Data = Buffer.from('Terminated by ST').toString('base64');
281
+ const sequence = `\x1b]52;c;${base64Data}\x1b\\`;
282
+ act(() => stdin.write(sequence));
283
+ await waitFor(() => {
284
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
285
+ name: 'paste',
286
+ paste: true,
287
+ sequence: 'Terminated by ST',
288
+ }));
289
+ });
290
+ });
291
+ it('should ignore unknown OSC sequences', async () => {
292
+ const keyHandler = vi.fn();
293
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
294
+ act(() => result.current.subscribe(keyHandler));
295
+ const sequence = `\x1b]1337;File=name=Zm9vCg==\x07`;
296
+ act(() => stdin.write(sequence));
297
+ await act(async () => {
298
+ vi.advanceTimersByTime(0);
299
+ });
300
+ expect(keyHandler).not.toHaveBeenCalled();
301
+ });
302
+ it('should ignore invalid OSC 52 format', async () => {
303
+ const keyHandler = vi.fn();
304
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
305
+ act(() => result.current.subscribe(keyHandler));
306
+ const sequence = `\x1b]52;x;notbase64\x07`;
307
+ act(() => stdin.write(sequence));
308
+ await act(async () => {
309
+ vi.advanceTimersByTime(0);
310
+ });
311
+ expect(keyHandler).not.toHaveBeenCalled();
312
+ });
242
313
  });
243
314
  describe('debug keystroke logging', () => {
244
315
  let debugLoggerSpy;