@google/gemini-cli 0.12.0-nightly.20251023.c4c0c0d1 → 0.12.0-preview.0
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.
- package/README.md +7 -5
- package/dist/package.json +3 -3
- package/dist/src/commands/extensions/disable.d.ts +1 -1
- package/dist/src/commands/extensions/disable.js +5 -4
- package/dist/src/commands/extensions/disable.js.map +1 -1
- package/dist/src/commands/extensions/enable.d.ts +1 -1
- package/dist/src/commands/extensions/enable.js +3 -2
- package/dist/src/commands/extensions/enable.js.map +1 -1
- package/dist/src/commands/extensions/install.js +2 -1
- package/dist/src/commands/extensions/install.js.map +1 -1
- package/dist/src/commands/extensions/install.test.js +1 -0
- package/dist/src/commands/extensions/install.test.js.map +1 -1
- package/dist/src/commands/extensions/link.js +2 -1
- package/dist/src/commands/extensions/link.js.map +1 -1
- package/dist/src/commands/extensions/list.js +2 -2
- package/dist/src/commands/extensions/list.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.js +2 -1
- package/dist/src/commands/extensions/uninstall.js.map +1 -1
- package/dist/src/commands/extensions/update.js +2 -2
- package/dist/src/commands/extensions/update.js.map +1 -1
- package/dist/src/commands/mcp/list.js +2 -2
- package/dist/src/commands/mcp/list.js.map +1 -1
- package/dist/src/config/config.d.ts +6 -3
- package/dist/src/config/config.js +56 -11
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +208 -175
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager.d.ts +23 -10
- package/dist/src/config/extension-manager.js +90 -64
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension.test.js +183 -76
- package/dist/src/config/extension.test.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.d.ts +1 -1
- package/dist/src/config/extensions/extensionEnablement.js +3 -2
- package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.test.js +10 -10
- package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.d.ts +3 -3
- package/dist/src/config/extensions/extensionSettings.js +74 -24
- package/dist/src/config/extensions/extensionSettings.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.test.js +145 -24
- package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
- package/dist/src/config/extensions/github.js +3 -3
- package/dist/src/config/extensions/github.js.map +1 -1
- package/dist/src/config/extensions/github.test.js +1 -1
- package/dist/src/config/extensions/github.test.js.map +1 -1
- package/dist/src/config/extensions/github_fetch.d.ts +1 -1
- package/dist/src/config/extensions/github_fetch.js +13 -1
- package/dist/src/config/extensions/github_fetch.js.map +1 -1
- package/dist/src/config/extensions/github_fetch.test.d.ts +6 -0
- package/dist/src/config/extensions/github_fetch.test.js +169 -0
- package/dist/src/config/extensions/github_fetch.test.js.map +1 -0
- package/dist/src/config/extensions/update.js +7 -6
- package/dist/src/config/extensions/update.js.map +1 -1
- package/dist/src/config/extensions/update.test.js +54 -30
- package/dist/src/config/extensions/update.test.js.map +1 -1
- package/dist/src/config/keyBindings.js +1 -1
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/policies/read-only.toml +56 -0
- package/dist/src/config/policies/write.toml +63 -0
- package/dist/src/config/policies/yolo.toml +31 -0
- package/dist/src/config/policy-engine.integration.test.js +41 -38
- package/dist/src/config/policy-engine.integration.test.js.map +1 -1
- package/dist/src/config/policy-toml-loader.d.ts +46 -0
- package/dist/src/config/policy-toml-loader.js +314 -0
- package/dist/src/config/policy-toml-loader.js.map +1 -0
- package/dist/src/config/policy-toml-loader.test.d.ts +6 -0
- package/dist/src/config/policy-toml-loader.test.js +626 -0
- package/dist/src/config/policy-toml-loader.test.js.map +1 -0
- package/dist/src/config/policy.d.ts +9 -2
- package/dist/src/config/policy.js +139 -110
- package/dist/src/config/policy.js.map +1 -1
- package/dist/src/config/policy.test.js +780 -82
- package/dist/src/config/policy.test.js.map +1 -1
- package/dist/src/config/settings.test.js +6 -6
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/core/initializer.js +2 -1
- package/dist/src/core/initializer.js.map +1 -1
- package/dist/src/gemini.js +6 -17
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +27 -2
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/nonInteractiveCli.js +16 -4
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCli.test.js +67 -12
- package/dist/src/nonInteractiveCli.test.js.map +1 -1
- package/dist/src/test-utils/render.d.ts +12 -0
- package/dist/src/test-utils/render.js +28 -1
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/test-utils/render.test.d.ts +6 -0
- package/dist/src/test-utils/render.test.js +54 -0
- package/dist/src/test-utils/render.test.js.map +1 -0
- package/dist/src/ui/AppContainer.js +29 -23
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +8 -0
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +1 -1
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +45 -1
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.test.js +64 -1
- package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.js +1 -1
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.test.js +3 -1
- package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.js +1 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +4 -4
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.js +1 -1
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/Footer.test.js +24 -0
- package/dist/src/ui/components/Footer.test.js.map +1 -1
- package/dist/src/ui/components/Help.test.js +0 -1
- package/dist/src/ui/components/Help.test.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.js +442 -342
- package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.test.js +5 -5
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +11 -12
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +13 -14
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.test.js +1 -2
- package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSelectionList.test.js +11 -12
- package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.test.js +2 -1
- package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionsList.d.ts +1 -1
- package/dist/src/ui/components/views/ExtensionsList.js +4 -1
- package/dist/src/ui/components/views/ExtensionsList.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.d.ts +3 -2
- package/dist/src/ui/contexts/KeypressContext.js +114 -64
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +166 -482
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.test.js +27 -13
- package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +2 -2
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.test.js +18 -2
- package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +74 -80
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.test.js +32 -23
- package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +2 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.test.js +79 -78
- package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useConsoleMessages.test.js +26 -9
- package/dist/src/ui/hooks/useConsoleMessages.test.js.map +1 -1
- package/dist/src/ui/hooks/useEditorSettings.test.js +40 -34
- package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.d.ts +1 -2
- package/dist/src/ui/hooks/useExtensionUpdates.js +4 -2
- package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.test.js +37 -26
- package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
- package/dist/src/ui/hooks/useFlickerDetector.test.js +9 -5
- package/dist/src/ui/hooks/useFlickerDetector.test.js.map +1 -1
- package/dist/src/ui/hooks/useFocus.test.js +25 -9
- package/dist/src/ui/hooks/useFocus.test.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.test.js +45 -22
- package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +56 -19
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +155 -74
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.js +29 -16
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
- package/dist/src/ui/hooks/useHistoryManager.test.js +2 -1
- package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -1
- package/dist/src/ui/hooks/useIdeTrustListener.test.js +24 -7
- package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -1
- package/dist/src/ui/hooks/useInputHistory.test.js +2 -1
- package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -1
- package/dist/src/ui/hooks/useInputHistoryStore.test.js +2 -1
- package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -1
- package/dist/src/ui/hooks/useKeypress.test.js +94 -113
- package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +24 -6
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useMemoryMonitor.test.js +10 -5
- package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +1 -1
- package/dist/src/ui/hooks/useMessageQueue.test.js +61 -45
- package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
- package/dist/src/ui/hooks/useModelCommand.test.js +18 -11
- package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -1
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +2 -2
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.test.js +83 -110
- package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.js +26 -10
- package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.js +13 -14
- package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js +33 -40
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +8 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js +37 -26
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.test.js +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +2 -2
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.test.js +193 -132
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
- package/dist/src/ui/hooks/useShellHistory.test.js +40 -16
- package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.js +54 -49
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useTimer.test.js +43 -14
- package/dist/src/ui/hooks/useTimer.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +163 -74
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/hooks/vim.test.js +251 -356
- package/dist/src/ui/hooks/vim.test.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +3 -3
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/utils/textOutput.d.ts +25 -0
- package/dist/src/ui/utils/textOutput.js +49 -0
- package/dist/src/ui/utils/textOutput.js.map +1 -0
- package/dist/src/ui/utils/textOutput.test.d.ts +6 -0
- package/dist/src/ui/utils/textOutput.test.js +79 -0
- package/dist/src/ui/utils/textOutput.test.js.map +1 -0
- package/dist/src/ui/utils/updateCheck.d.ts +7 -1
- package/dist/src/ui/utils/updateCheck.js +27 -26
- package/dist/src/ui/utils/updateCheck.js.map +1 -1
- package/dist/src/ui/utils/updateCheck.test.js +19 -49
- package/dist/src/ui/utils/updateCheck.test.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.js +9 -3
- package/dist/src/utils/handleAutoUpdate.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.d.ts +2 -2
- package/dist/src/zed-integration/zedIntegration.js +9 -16
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/dist/google-gemini-cli-0.12.0-nightly.20251022.0542de95.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIdeTrustListener.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useIdeTrustListener.test.
|
|
1
|
+
{"version":3,"file":"useIdeTrustListener.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useIdeTrustListener.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { act
|
|
6
|
+
import { act } from 'react';
|
|
7
|
+
import { renderHook } from '../../test-utils/render.js';
|
|
7
8
|
import { useInputHistory } from './useInputHistory.js';
|
|
8
9
|
describe('useInputHistory', () => {
|
|
9
10
|
const mockOnSubmit = vi.fn();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInputHistory.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useInputHistory.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useInputHistory.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useInputHistory.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { act
|
|
6
|
+
import { act } from 'react';
|
|
7
|
+
import { renderHook } from '../../test-utils/render.js';
|
|
7
8
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
|
8
9
|
import { useInputHistoryStore } from './useInputHistoryStore.js';
|
|
9
10
|
describe('useInputHistoryStore', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInputHistoryStore.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useInputHistoryStore.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useInputHistoryStore.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useInputHistoryStore.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
/**
|
|
2
3
|
* @license
|
|
3
4
|
* Copyright 2025 Google LLC
|
|
4
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
6
|
*/
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
7
|
+
import { act } from 'react';
|
|
8
|
+
import { render } from 'ink-testing-library';
|
|
8
9
|
import { useKeypress } from './useKeypress.js';
|
|
9
10
|
import { KeypressProvider } from '../contexts/KeypressContext.js';
|
|
10
11
|
import { useStdin } from 'ink';
|
|
11
12
|
import { EventEmitter } from 'node:events';
|
|
12
|
-
import { PassThrough } from 'node:stream';
|
|
13
13
|
// Mock the 'ink' module to control stdin
|
|
14
14
|
vi.mock('ink', async (importOriginal) => {
|
|
15
15
|
const original = await importOriginal();
|
|
@@ -18,78 +18,18 @@ vi.mock('ink', async (importOriginal) => {
|
|
|
18
18
|
useStdin: vi.fn(),
|
|
19
19
|
};
|
|
20
20
|
});
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const mockedReadline = {
|
|
24
|
-
createInterface: vi.fn().mockReturnValue({ close: vi.fn() }),
|
|
25
|
-
// The paste workaround involves replacing stdin with a PassThrough stream.
|
|
26
|
-
// This mock ensures that when emitKeypressEvents is called on that
|
|
27
|
-
// stream, we simulate the 'keypress' events that the hook expects.
|
|
28
|
-
emitKeypressEvents: vi.fn((stream) => {
|
|
29
|
-
if (stream instanceof PassThrough) {
|
|
30
|
-
stream.on('data', (data) => {
|
|
31
|
-
const str = data.toString();
|
|
32
|
-
for (const char of str) {
|
|
33
|
-
stream.emit('keypress', null, {
|
|
34
|
-
name: char,
|
|
35
|
-
sequence: char,
|
|
36
|
-
ctrl: false,
|
|
37
|
-
meta: false,
|
|
38
|
-
shift: false,
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
}),
|
|
44
|
-
};
|
|
45
|
-
return {
|
|
46
|
-
...mockedReadline,
|
|
47
|
-
default: mockedReadline,
|
|
48
|
-
};
|
|
49
|
-
});
|
|
21
|
+
const PASTE_START = '\x1B[200~';
|
|
22
|
+
const PASTE_END = '\x1B[201~';
|
|
50
23
|
class MockStdin extends EventEmitter {
|
|
51
24
|
isTTY = true;
|
|
52
25
|
isRaw = false;
|
|
53
26
|
setRawMode = vi.fn();
|
|
54
27
|
on = this.addListener;
|
|
55
28
|
removeListener = super.removeListener;
|
|
56
|
-
write = vi.fn();
|
|
57
29
|
resume = vi.fn();
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
this.
|
|
61
|
-
}
|
|
62
|
-
// Helper to simulate a full paste event.
|
|
63
|
-
paste(text) {
|
|
64
|
-
if (this.isLegacy) {
|
|
65
|
-
const PASTE_START = '\x1B[200~';
|
|
66
|
-
const PASTE_END = '\x1B[201~';
|
|
67
|
-
this.emit('data', Buffer.from(`${PASTE_START}${text}${PASTE_END}`));
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
this.emit('keypress', null, { name: 'paste-start' });
|
|
71
|
-
this.emit('keypress', null, { sequence: text });
|
|
72
|
-
this.emit('keypress', null, { name: 'paste-end' });
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Helper to simulate the start of a paste, without the end.
|
|
76
|
-
startPaste(text) {
|
|
77
|
-
if (this.isLegacy) {
|
|
78
|
-
this.emit('data', Buffer.from('\x1B[200~' + text));
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
this.emit('keypress', null, { name: 'paste-start' });
|
|
82
|
-
this.emit('keypress', null, { sequence: text });
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
// Helper to simulate a single keypress event.
|
|
86
|
-
pressKey(key) {
|
|
87
|
-
if (this.isLegacy) {
|
|
88
|
-
this.emit('data', Buffer.from(key.sequence ?? ''));
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
this.emit('keypress', null, key);
|
|
92
|
-
}
|
|
30
|
+
pause = vi.fn();
|
|
31
|
+
write(text) {
|
|
32
|
+
this.emit('data', text);
|
|
93
33
|
}
|
|
94
34
|
}
|
|
95
35
|
describe('useKeypress', () => {
|
|
@@ -97,7 +37,13 @@ describe('useKeypress', () => {
|
|
|
97
37
|
const mockSetRawMode = vi.fn();
|
|
98
38
|
const onKeypress = vi.fn();
|
|
99
39
|
let originalNodeVersion;
|
|
100
|
-
const
|
|
40
|
+
const renderKeypressHook = (isActive = true) => {
|
|
41
|
+
function TestComponent() {
|
|
42
|
+
useKeypress(onKeypress, { isActive });
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return render(_jsx(KeypressProvider, { kittyProtocolEnabled: false, children: _jsx(TestComponent, {}) }));
|
|
46
|
+
};
|
|
101
47
|
beforeEach(() => {
|
|
102
48
|
vi.clearAllMocks();
|
|
103
49
|
stdin = new MockStdin();
|
|
@@ -114,17 +60,9 @@ describe('useKeypress', () => {
|
|
|
114
60
|
configurable: true,
|
|
115
61
|
});
|
|
116
62
|
});
|
|
117
|
-
const setNodeVersion = (version) => {
|
|
118
|
-
Object.defineProperty(process.versions, 'node', {
|
|
119
|
-
value: version,
|
|
120
|
-
configurable: true,
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
63
|
it('should not listen if isActive is false', () => {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
});
|
|
127
|
-
act(() => stdin.pressKey({ name: 'a' }));
|
|
64
|
+
renderKeypressHook(false);
|
|
65
|
+
act(() => stdin.write('a'));
|
|
128
66
|
expect(onKeypress).not.toHaveBeenCalled();
|
|
129
67
|
});
|
|
130
68
|
it.each([
|
|
@@ -134,58 +72,45 @@ describe('useKeypress', () => {
|
|
|
134
72
|
{ key: { name: 'up', sequence: '\x1b[A' } },
|
|
135
73
|
{ key: { name: 'down', sequence: '\x1b[B' } },
|
|
136
74
|
])('should listen for keypress when active for key $key.name', ({ key }) => {
|
|
137
|
-
|
|
138
|
-
act(() => stdin.
|
|
75
|
+
renderKeypressHook(true);
|
|
76
|
+
act(() => stdin.write(key.sequence));
|
|
139
77
|
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining(key));
|
|
140
78
|
});
|
|
141
79
|
it('should set and release raw mode', () => {
|
|
142
|
-
const { unmount } =
|
|
80
|
+
const { unmount } = renderKeypressHook(true);
|
|
143
81
|
expect(mockSetRawMode).toHaveBeenCalledWith(true);
|
|
144
82
|
unmount();
|
|
145
83
|
expect(mockSetRawMode).toHaveBeenCalledWith(false);
|
|
146
84
|
});
|
|
147
85
|
it('should stop listening after being unmounted', () => {
|
|
148
|
-
const { unmount } =
|
|
86
|
+
const { unmount } = renderKeypressHook(true);
|
|
149
87
|
unmount();
|
|
150
|
-
act(() => stdin.
|
|
88
|
+
act(() => stdin.write('a'));
|
|
151
89
|
expect(onKeypress).not.toHaveBeenCalled();
|
|
152
90
|
});
|
|
153
91
|
it('should correctly identify alt+enter (meta key)', () => {
|
|
154
|
-
|
|
92
|
+
renderKeypressHook(true);
|
|
155
93
|
const key = { name: 'return', sequence: '\x1B\r' };
|
|
156
|
-
act(() => stdin.
|
|
94
|
+
act(() => stdin.write(key.sequence));
|
|
157
95
|
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ ...key, meta: true, paste: false }));
|
|
158
96
|
});
|
|
159
97
|
describe.each([
|
|
160
98
|
{
|
|
161
|
-
description: '
|
|
162
|
-
setup: () =>
|
|
163
|
-
isLegacy: false,
|
|
99
|
+
description: 'PASTE_WORKAROUND true',
|
|
100
|
+
setup: () => vi.stubEnv('PASTE_WORKAROUND', 'true'),
|
|
164
101
|
},
|
|
165
102
|
{
|
|
166
|
-
description: '
|
|
167
|
-
setup: () =>
|
|
168
|
-
isLegacy: true,
|
|
103
|
+
description: 'PASTE_WORKAROUND false',
|
|
104
|
+
setup: () => vi.stubEnv('PASTE_WORKAROUND', 'false'),
|
|
169
105
|
},
|
|
170
|
-
|
|
171
|
-
description: 'Workaround Env Var',
|
|
172
|
-
setup: () => {
|
|
173
|
-
setNodeVersion('20.0.0');
|
|
174
|
-
vi.stubEnv('PASTE_WORKAROUND', 'true');
|
|
175
|
-
},
|
|
176
|
-
isLegacy: true,
|
|
177
|
-
},
|
|
178
|
-
])('in $description', ({ setup, isLegacy }) => {
|
|
106
|
+
])('in $description', ({ setup }) => {
|
|
179
107
|
beforeEach(() => {
|
|
180
108
|
setup();
|
|
181
|
-
stdin.setLegacy(isLegacy);
|
|
182
109
|
});
|
|
183
110
|
it('should process a paste as a single event', () => {
|
|
184
|
-
|
|
185
|
-
wrapper,
|
|
186
|
-
});
|
|
111
|
+
renderKeypressHook(true);
|
|
187
112
|
const pasteText = 'hello world';
|
|
188
|
-
act(() => stdin.
|
|
113
|
+
act(() => stdin.write(PASTE_START + pasteText + PASTE_END));
|
|
189
114
|
expect(onKeypress).toHaveBeenCalledTimes(1);
|
|
190
115
|
expect(onKeypress).toHaveBeenCalledWith({
|
|
191
116
|
name: '',
|
|
@@ -197,24 +122,80 @@ describe('useKeypress', () => {
|
|
|
197
122
|
});
|
|
198
123
|
});
|
|
199
124
|
it('should handle keypress interspersed with pastes', () => {
|
|
200
|
-
|
|
201
|
-
|
|
125
|
+
renderKeypressHook(true);
|
|
126
|
+
const keyA = { name: 'a', sequence: 'a' };
|
|
127
|
+
act(() => stdin.write('a'));
|
|
128
|
+
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ ...keyA, paste: false }));
|
|
129
|
+
const pasteText = 'pasted';
|
|
130
|
+
act(() => stdin.write(PASTE_START + pasteText + PASTE_END));
|
|
131
|
+
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ paste: true, sequence: pasteText }));
|
|
132
|
+
const keyB = { name: 'b', sequence: 'b' };
|
|
133
|
+
act(() => stdin.write('b'));
|
|
134
|
+
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ ...keyB, paste: false }));
|
|
135
|
+
expect(onKeypress).toHaveBeenCalledTimes(3);
|
|
136
|
+
});
|
|
137
|
+
it('should handle lone pastes', () => {
|
|
138
|
+
renderKeypressHook(true);
|
|
139
|
+
const pasteText = 'pasted';
|
|
140
|
+
act(() => {
|
|
141
|
+
stdin.write(PASTE_START);
|
|
142
|
+
stdin.write(pasteText);
|
|
143
|
+
stdin.write(PASTE_END);
|
|
144
|
+
});
|
|
145
|
+
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ paste: true, sequence: pasteText }));
|
|
146
|
+
expect(onKeypress).toHaveBeenCalledTimes(1);
|
|
147
|
+
});
|
|
148
|
+
it('should handle paste false alarm', () => {
|
|
149
|
+
renderKeypressHook(true);
|
|
150
|
+
act(() => {
|
|
151
|
+
stdin.write(PASTE_START.slice(0, 5));
|
|
152
|
+
stdin.write('do');
|
|
153
|
+
});
|
|
154
|
+
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ code: '[200d' }));
|
|
155
|
+
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ sequence: 'o' }));
|
|
156
|
+
expect(onKeypress).toHaveBeenCalledTimes(2);
|
|
157
|
+
});
|
|
158
|
+
it('should handle back to back pastes', () => {
|
|
159
|
+
renderKeypressHook(true);
|
|
160
|
+
const pasteText1 = 'herp';
|
|
161
|
+
const pasteText2 = 'derp';
|
|
162
|
+
act(() => {
|
|
163
|
+
stdin.write(PASTE_START +
|
|
164
|
+
pasteText1 +
|
|
165
|
+
PASTE_END +
|
|
166
|
+
PASTE_START +
|
|
167
|
+
pasteText2 +
|
|
168
|
+
PASTE_END);
|
|
202
169
|
});
|
|
170
|
+
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ paste: true, sequence: pasteText1 }));
|
|
171
|
+
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ paste: true, sequence: pasteText2 }));
|
|
172
|
+
expect(onKeypress).toHaveBeenCalledTimes(2);
|
|
173
|
+
});
|
|
174
|
+
it('should handle pastes split across writes', async () => {
|
|
175
|
+
renderKeypressHook(true);
|
|
203
176
|
const keyA = { name: 'a', sequence: 'a' };
|
|
204
|
-
act(() => stdin.
|
|
177
|
+
act(() => stdin.write('a'));
|
|
205
178
|
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ ...keyA, paste: false }));
|
|
206
179
|
const pasteText = 'pasted';
|
|
207
|
-
act(() =>
|
|
180
|
+
await act(async () => {
|
|
181
|
+
stdin.write(PASTE_START.slice(0, 3));
|
|
182
|
+
await new Promise((r) => setTimeout(r, 50));
|
|
183
|
+
stdin.write(PASTE_START.slice(3) + pasteText.slice(0, 3));
|
|
184
|
+
await new Promise((r) => setTimeout(r, 50));
|
|
185
|
+
stdin.write(pasteText.slice(3) + PASTE_END.slice(0, 3));
|
|
186
|
+
await new Promise((r) => setTimeout(r, 50));
|
|
187
|
+
stdin.write(PASTE_END.slice(3));
|
|
188
|
+
});
|
|
208
189
|
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ paste: true, sequence: pasteText }));
|
|
209
190
|
const keyB = { name: 'b', sequence: 'b' };
|
|
210
|
-
act(() => stdin.
|
|
191
|
+
act(() => stdin.write('b'));
|
|
211
192
|
expect(onKeypress).toHaveBeenCalledWith(expect.objectContaining({ ...keyB, paste: false }));
|
|
212
193
|
expect(onKeypress).toHaveBeenCalledTimes(3);
|
|
213
194
|
});
|
|
214
195
|
it('should emit partial paste content if unmounted mid-paste', () => {
|
|
215
|
-
const { unmount } =
|
|
196
|
+
const { unmount } = renderKeypressHook(true);
|
|
216
197
|
const pasteText = 'incomplete paste';
|
|
217
|
-
act(() => stdin.
|
|
198
|
+
act(() => stdin.write(PASTE_START + pasteText));
|
|
218
199
|
// No event should be fired yet.
|
|
219
200
|
expect(onKeypress).not.toHaveBeenCalled();
|
|
220
201
|
// Unmounting should trigger the flush.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeypress.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useKeypress.test.
|
|
1
|
+
{"version":3,"file":"useKeypress.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useKeypress.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
/**
|
|
2
3
|
* @license
|
|
3
4
|
* Copyright 2025 Google LLC
|
|
4
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
6
|
*/
|
|
6
7
|
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
7
|
-
import {
|
|
8
|
+
import { act } from 'react';
|
|
9
|
+
import { render } from 'ink-testing-library';
|
|
8
10
|
import { useLoadingIndicator } from './useLoadingIndicator.js';
|
|
9
11
|
import { StreamingState } from '../types.js';
|
|
10
12
|
import { WITTY_LOADING_PHRASES, PHRASE_CHANGE_INTERVAL_MS, } from './usePhraseCycler.js';
|
|
@@ -17,15 +19,31 @@ describe('useLoadingIndicator', () => {
|
|
|
17
19
|
act(() => vi.runOnlyPendingTimers);
|
|
18
20
|
vi.restoreAllMocks();
|
|
19
21
|
});
|
|
22
|
+
const renderLoadingIndicatorHook = (initialStreamingState) => {
|
|
23
|
+
let hookResult;
|
|
24
|
+
function TestComponent({ streamingState, }) {
|
|
25
|
+
hookResult = useLoadingIndicator(streamingState);
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const { rerender } = render(_jsx(TestComponent, { streamingState: initialStreamingState }));
|
|
29
|
+
return {
|
|
30
|
+
result: {
|
|
31
|
+
get current() {
|
|
32
|
+
return hookResult;
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
rerender: (newProps) => rerender(_jsx(TestComponent, { ...newProps })),
|
|
36
|
+
};
|
|
37
|
+
};
|
|
20
38
|
it('should initialize with default values when Idle', () => {
|
|
21
39
|
vi.spyOn(Math, 'random').mockImplementation(() => 0.5); // Always witty
|
|
22
|
-
const { result } =
|
|
40
|
+
const { result } = renderLoadingIndicatorHook(StreamingState.Idle);
|
|
23
41
|
expect(result.current.elapsedTime).toBe(0);
|
|
24
42
|
expect(WITTY_LOADING_PHRASES).toContain(result.current.currentLoadingPhrase);
|
|
25
43
|
});
|
|
26
44
|
it('should reflect values when Responding', async () => {
|
|
27
45
|
vi.spyOn(Math, 'random').mockImplementation(() => 0.5); // Always witty
|
|
28
|
-
const { result } =
|
|
46
|
+
const { result } = renderLoadingIndicatorHook(StreamingState.Responding);
|
|
29
47
|
// Initial state before timers advance
|
|
30
48
|
expect(result.current.elapsedTime).toBe(0);
|
|
31
49
|
expect(WITTY_LOADING_PHRASES).toContain(result.current.currentLoadingPhrase);
|
|
@@ -36,7 +54,7 @@ describe('useLoadingIndicator', () => {
|
|
|
36
54
|
expect(WITTY_LOADING_PHRASES).toContain(result.current.currentLoadingPhrase);
|
|
37
55
|
});
|
|
38
56
|
it('should show waiting phrase and retain elapsedTime when WaitingForConfirmation', async () => {
|
|
39
|
-
const { result, rerender } =
|
|
57
|
+
const { result, rerender } = renderLoadingIndicatorHook(StreamingState.Responding);
|
|
40
58
|
await act(async () => {
|
|
41
59
|
await vi.advanceTimersByTimeAsync(60000);
|
|
42
60
|
});
|
|
@@ -54,7 +72,7 @@ describe('useLoadingIndicator', () => {
|
|
|
54
72
|
});
|
|
55
73
|
it('should reset elapsedTime and use a witty phrase when transitioning from WaitingForConfirmation to Responding', async () => {
|
|
56
74
|
vi.spyOn(Math, 'random').mockImplementation(() => 0.5); // Always witty
|
|
57
|
-
const { result, rerender } =
|
|
75
|
+
const { result, rerender } = renderLoadingIndicatorHook(StreamingState.Responding);
|
|
58
76
|
await act(async () => {
|
|
59
77
|
await vi.advanceTimersByTimeAsync(5000); // 5s
|
|
60
78
|
});
|
|
@@ -76,7 +94,7 @@ describe('useLoadingIndicator', () => {
|
|
|
76
94
|
});
|
|
77
95
|
it('should reset timer and phrase when streamingState changes from Responding to Idle', async () => {
|
|
78
96
|
vi.spyOn(Math, 'random').mockImplementation(() => 0.5); // Always witty
|
|
79
|
-
const { result, rerender } =
|
|
97
|
+
const { result, rerender } = renderLoadingIndicatorHook(StreamingState.Responding);
|
|
80
98
|
await act(async () => {
|
|
81
99
|
await vi.advanceTimersByTimeAsync(10000); // 10s
|
|
82
100
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLoadingIndicator.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useLoadingIndicator.test.
|
|
1
|
+
{"version":3,"file":"useLoadingIndicator.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useLoadingIndicator.test.tsx"],"names":[],"mappings":"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"}
|