@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
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { describe, it, expect, vi, afterEach, beforeEach } from 'vitest';
|
|
7
|
+
import * as https from 'node:https';
|
|
8
|
+
import { EventEmitter } from 'node:events';
|
|
9
|
+
import { fetchJson, getGitHubToken } from './github_fetch.js';
|
|
10
|
+
vi.mock('node:https');
|
|
11
|
+
describe('getGitHubToken', () => {
|
|
12
|
+
const originalToken = process.env['GITHUB_TOKEN'];
|
|
13
|
+
afterEach(() => {
|
|
14
|
+
if (originalToken) {
|
|
15
|
+
process.env['GITHUB_TOKEN'] = originalToken;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
delete process.env['GITHUB_TOKEN'];
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
it('should return the token if GITHUB_TOKEN is set', () => {
|
|
22
|
+
process.env['GITHUB_TOKEN'] = 'test-token';
|
|
23
|
+
expect(getGitHubToken()).toBe('test-token');
|
|
24
|
+
});
|
|
25
|
+
it('should return undefined if GITHUB_TOKEN is not set', () => {
|
|
26
|
+
delete process.env['GITHUB_TOKEN'];
|
|
27
|
+
expect(getGitHubToken()).toBeUndefined();
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('fetchJson', () => {
|
|
31
|
+
const getMock = vi.mocked(https.get);
|
|
32
|
+
afterEach(() => {
|
|
33
|
+
vi.resetAllMocks();
|
|
34
|
+
});
|
|
35
|
+
it('should fetch and parse JSON successfully', async () => {
|
|
36
|
+
getMock.mockImplementationOnce((_url, _options, callback) => {
|
|
37
|
+
const res = new EventEmitter();
|
|
38
|
+
res.statusCode = 200;
|
|
39
|
+
callback(res);
|
|
40
|
+
res.emit('data', Buffer.from('{"foo":'));
|
|
41
|
+
res.emit('data', Buffer.from('"bar"}'));
|
|
42
|
+
res.emit('end');
|
|
43
|
+
return new EventEmitter();
|
|
44
|
+
});
|
|
45
|
+
await expect(fetchJson('https://example.com/data.json')).resolves.toEqual({
|
|
46
|
+
foo: 'bar',
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
it('should handle redirects (301 and 302)', async () => {
|
|
50
|
+
// Test 302
|
|
51
|
+
getMock.mockImplementationOnce((_url, _options, callback) => {
|
|
52
|
+
const res = new EventEmitter();
|
|
53
|
+
res.statusCode = 302;
|
|
54
|
+
res.headers = { location: 'https://example.com/final' };
|
|
55
|
+
callback(res);
|
|
56
|
+
res.emit('end');
|
|
57
|
+
return new EventEmitter();
|
|
58
|
+
});
|
|
59
|
+
getMock.mockImplementationOnce((url, _options, callback) => {
|
|
60
|
+
expect(url).toBe('https://example.com/final');
|
|
61
|
+
const res = new EventEmitter();
|
|
62
|
+
res.statusCode = 200;
|
|
63
|
+
callback(res);
|
|
64
|
+
res.emit('data', Buffer.from('{"success": true}'));
|
|
65
|
+
res.emit('end');
|
|
66
|
+
return new EventEmitter();
|
|
67
|
+
});
|
|
68
|
+
await expect(fetchJson('https://example.com/redirect')).resolves.toEqual({
|
|
69
|
+
success: true,
|
|
70
|
+
});
|
|
71
|
+
// Test 301
|
|
72
|
+
getMock.mockImplementationOnce((_url, _options, callback) => {
|
|
73
|
+
const res = new EventEmitter();
|
|
74
|
+
res.statusCode = 301;
|
|
75
|
+
res.headers = { location: 'https://example.com/final-permanent' };
|
|
76
|
+
callback(res);
|
|
77
|
+
res.emit('end');
|
|
78
|
+
return new EventEmitter();
|
|
79
|
+
});
|
|
80
|
+
getMock.mockImplementationOnce((url, _options, callback) => {
|
|
81
|
+
expect(url).toBe('https://example.com/final-permanent');
|
|
82
|
+
const res = new EventEmitter();
|
|
83
|
+
res.statusCode = 200;
|
|
84
|
+
callback(res);
|
|
85
|
+
res.emit('data', Buffer.from('{"permanent": true}'));
|
|
86
|
+
res.emit('end');
|
|
87
|
+
return new EventEmitter();
|
|
88
|
+
});
|
|
89
|
+
await expect(fetchJson('https://example.com/redirect-perm')).resolves.toEqual({ permanent: true });
|
|
90
|
+
});
|
|
91
|
+
it('should reject on non-200/30x status code', async () => {
|
|
92
|
+
getMock.mockImplementationOnce((_url, _options, callback) => {
|
|
93
|
+
const res = new EventEmitter();
|
|
94
|
+
res.statusCode = 404;
|
|
95
|
+
callback(res);
|
|
96
|
+
res.emit('end');
|
|
97
|
+
return new EventEmitter();
|
|
98
|
+
});
|
|
99
|
+
await expect(fetchJson('https://example.com/error')).rejects.toThrow('Request failed with status code 404');
|
|
100
|
+
});
|
|
101
|
+
it('should reject on request error', async () => {
|
|
102
|
+
const error = new Error('Network error');
|
|
103
|
+
getMock.mockImplementationOnce(() => {
|
|
104
|
+
const req = new EventEmitter();
|
|
105
|
+
req.emit('error', error);
|
|
106
|
+
return req;
|
|
107
|
+
});
|
|
108
|
+
await expect(fetchJson('https://example.com/error')).rejects.toThrow('Network error');
|
|
109
|
+
});
|
|
110
|
+
describe('with GITHUB_TOKEN', () => {
|
|
111
|
+
const originalToken = process.env['GITHUB_TOKEN'];
|
|
112
|
+
beforeEach(() => {
|
|
113
|
+
process.env['GITHUB_TOKEN'] = 'my-secret-token';
|
|
114
|
+
});
|
|
115
|
+
afterEach(() => {
|
|
116
|
+
if (originalToken) {
|
|
117
|
+
process.env['GITHUB_TOKEN'] = originalToken;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
delete process.env['GITHUB_TOKEN'];
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
it('should include Authorization header if token is present', async () => {
|
|
124
|
+
getMock.mockImplementationOnce((_url, options, callback) => {
|
|
125
|
+
expect(options.headers).toEqual({
|
|
126
|
+
'User-Agent': 'gemini-cli',
|
|
127
|
+
Authorization: 'token my-secret-token',
|
|
128
|
+
});
|
|
129
|
+
const res = new EventEmitter();
|
|
130
|
+
res.statusCode = 200;
|
|
131
|
+
callback(res);
|
|
132
|
+
res.emit('data', Buffer.from('{"foo": "bar"}'));
|
|
133
|
+
res.emit('end');
|
|
134
|
+
return new EventEmitter();
|
|
135
|
+
});
|
|
136
|
+
await expect(fetchJson('https://api.github.com/user')).resolves.toEqual({
|
|
137
|
+
foo: 'bar',
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
describe('without GITHUB_TOKEN', () => {
|
|
142
|
+
const originalToken = process.env['GITHUB_TOKEN'];
|
|
143
|
+
beforeEach(() => {
|
|
144
|
+
delete process.env['GITHUB_TOKEN'];
|
|
145
|
+
});
|
|
146
|
+
afterEach(() => {
|
|
147
|
+
if (originalToken) {
|
|
148
|
+
process.env['GITHUB_TOKEN'] = originalToken;
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
it('should not include Authorization header if token is not present', async () => {
|
|
152
|
+
getMock.mockImplementationOnce((_url, options, callback) => {
|
|
153
|
+
expect(options.headers).toEqual({
|
|
154
|
+
'User-Agent': 'gemini-cli',
|
|
155
|
+
});
|
|
156
|
+
const res = new EventEmitter();
|
|
157
|
+
res.statusCode = 200;
|
|
158
|
+
callback(res);
|
|
159
|
+
res.emit('data', Buffer.from('{"foo": "bar"}'));
|
|
160
|
+
res.emit('end');
|
|
161
|
+
return new EventEmitter();
|
|
162
|
+
});
|
|
163
|
+
await expect(fetchJson('https://api.github.com/user')).resolves.toEqual({
|
|
164
|
+
foo: 'bar',
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
//# sourceMappingURL=github_fetch.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github_fetch.test.js","sourceRoot":"","sources":["../../../../src/config/extensions/github_fetch.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,16 +37,17 @@ export async function updateExtension(extension, extensionManager, currentState,
|
|
|
37
37
|
const originalVersion = extension.version;
|
|
38
38
|
const tempDir = await ExtensionStorage.createTmpDir();
|
|
39
39
|
try {
|
|
40
|
-
const previousExtensionConfig =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
const previousExtensionConfig = extensionManager.loadExtensionConfig(extension.path);
|
|
41
|
+
let updatedExtension;
|
|
42
|
+
try {
|
|
43
|
+
updatedExtension = await extensionManager.installOrUpdateExtension(installMetadata, previousExtensionConfig);
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
45
46
|
dispatchExtensionStateUpdate({
|
|
46
47
|
type: 'SET_STATE',
|
|
47
48
|
payload: { name: extension.name, state: ExtensionUpdateState.ERROR },
|
|
48
49
|
});
|
|
49
|
-
throw new Error(
|
|
50
|
+
throw new Error(`Updated extension not found after installation, got error:\n${e}`);
|
|
50
51
|
}
|
|
51
52
|
const updatedVersion = updatedExtension.version;
|
|
52
53
|
dispatchExtensionStateUpdate({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/config/extensions/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,oBAAoB,GAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,WAAW,EAA2B,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAyB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAQhD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAA6B,EAC7B,gBAAkC,EAClC,YAAkC,EAClC,4BAAqE;IAErE,IAAI,YAAY,KAAK,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,4BAA4B,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,QAAQ,EAAE;KACxE,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE5D,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;QAC3B,4BAA4B,CAAC;YAC3B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE;SACrE,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CACb,aAAa,SAAS,CAAC,IAAI,sCAAsC,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QACrC,4BAA4B,CAAC;YAC3B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,UAAU,EAAE;SAC1E,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;IAE1C,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/config/extensions/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import * as fs from 'node:fs';
|
|
|
8
8
|
import * as os from 'node:os';
|
|
9
9
|
import * as path from 'node:path';
|
|
10
10
|
import { checkForAllExtensionUpdates, updateExtension } from './update.js';
|
|
11
|
-
import { GEMINI_DIR } from '@google/gemini-cli-core';
|
|
11
|
+
import { GEMINI_DIR, KeychainTokenStorage } from '@google/gemini-cli-core';
|
|
12
12
|
import { isWorkspaceTrusted } from '../trustedFolders.js';
|
|
13
13
|
import { ExtensionUpdateState } from '../../ui/state/extensions.js';
|
|
14
14
|
import { createExtension } from '../../test-utils/createExtension.js';
|
|
@@ -39,13 +39,9 @@ vi.mock('os', async (importOriginal) => {
|
|
|
39
39
|
homedir: vi.fn(),
|
|
40
40
|
};
|
|
41
41
|
});
|
|
42
|
-
vi.mock('../trustedFolders.js',
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
...actual,
|
|
46
|
-
isWorkspaceTrusted: vi.fn(),
|
|
47
|
-
};
|
|
48
|
-
});
|
|
42
|
+
vi.mock('../trustedFolders.js', () => ({
|
|
43
|
+
isWorkspaceTrusted: vi.fn(),
|
|
44
|
+
}));
|
|
49
45
|
const mockLogExtensionInstallEvent = vi.hoisted(() => vi.fn());
|
|
50
46
|
const mockLogExtensionUninstall = vi.hoisted(() => vi.fn());
|
|
51
47
|
vi.mock('@google/gemini-cli-core', async (importOriginal) => {
|
|
@@ -56,6 +52,13 @@ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
|
|
|
56
52
|
logExtensionUninstall: mockLogExtensionUninstall,
|
|
57
53
|
ExtensionInstallEvent: vi.fn(),
|
|
58
54
|
ExtensionUninstallEvent: vi.fn(),
|
|
55
|
+
KeychainTokenStorage: vi.fn().mockImplementation(() => ({
|
|
56
|
+
getSecret: vi.fn(),
|
|
57
|
+
setSecret: vi.fn(),
|
|
58
|
+
deleteSecret: vi.fn(),
|
|
59
|
+
listSecrets: vi.fn(),
|
|
60
|
+
isAvailable: vi.fn().mockResolvedValue(true),
|
|
61
|
+
})),
|
|
59
62
|
};
|
|
60
63
|
});
|
|
61
64
|
describe('update tests', () => {
|
|
@@ -65,7 +68,29 @@ describe('update tests', () => {
|
|
|
65
68
|
let extensionManager;
|
|
66
69
|
let mockRequestConsent;
|
|
67
70
|
let mockPromptForSettings;
|
|
71
|
+
let mockKeychainStorage;
|
|
72
|
+
let keychainData;
|
|
68
73
|
beforeEach(() => {
|
|
74
|
+
vi.clearAllMocks();
|
|
75
|
+
keychainData = {};
|
|
76
|
+
mockKeychainStorage = {
|
|
77
|
+
getSecret: vi
|
|
78
|
+
.fn()
|
|
79
|
+
.mockImplementation(async (key) => keychainData[key] || null),
|
|
80
|
+
setSecret: vi
|
|
81
|
+
.fn()
|
|
82
|
+
.mockImplementation(async (key, value) => {
|
|
83
|
+
keychainData[key] = value;
|
|
84
|
+
}),
|
|
85
|
+
deleteSecret: vi.fn().mockImplementation(async (key) => {
|
|
86
|
+
delete keychainData[key];
|
|
87
|
+
}),
|
|
88
|
+
listSecrets: vi
|
|
89
|
+
.fn()
|
|
90
|
+
.mockImplementation(async () => Object.keys(keychainData)),
|
|
91
|
+
isAvailable: vi.fn().mockResolvedValue(true),
|
|
92
|
+
};
|
|
93
|
+
KeychainTokenStorage.mockImplementation(() => mockKeychainStorage);
|
|
69
94
|
tempHomeDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gemini-cli-test-home-'));
|
|
70
95
|
tempWorkspaceDir = fs.mkdtempSync(path.join(tempHomeDir, 'gemini-cli-test-workspace-'));
|
|
71
96
|
vi.mocked(os.homedir).mockReturnValue(tempHomeDir);
|
|
@@ -87,12 +112,13 @@ describe('update tests', () => {
|
|
|
87
112
|
workspaceDir: tempWorkspaceDir,
|
|
88
113
|
requestConsent: mockRequestConsent,
|
|
89
114
|
requestSetting: mockPromptForSettings,
|
|
90
|
-
|
|
115
|
+
settings: loadSettings(tempWorkspaceDir).merged,
|
|
91
116
|
});
|
|
92
117
|
});
|
|
93
118
|
afterEach(() => {
|
|
94
119
|
fs.rmSync(tempHomeDir, { recursive: true, force: true });
|
|
95
120
|
fs.rmSync(tempWorkspaceDir, { recursive: true, force: true });
|
|
121
|
+
vi.restoreAllMocks();
|
|
96
122
|
});
|
|
97
123
|
describe('updateExtension', () => {
|
|
98
124
|
it('should update a git-installed extension', async () => {
|
|
@@ -110,7 +136,8 @@ describe('update tests', () => {
|
|
|
110
136
|
fs.writeFileSync(path.join(mockGit.path(), destination, EXTENSIONS_CONFIG_FILENAME), JSON.stringify({ name: extensionName, version: '1.1.0' }));
|
|
111
137
|
});
|
|
112
138
|
mockGit.getRemotes.mockResolvedValue([{ name: 'origin' }]);
|
|
113
|
-
const
|
|
139
|
+
const extensions = await extensionManager.loadExtensions();
|
|
140
|
+
const extension = extensions.find((e) => e.name === extensionName);
|
|
114
141
|
const updateInfo = await updateExtension(extension, extensionManager, ExtensionUpdateState.UPDATE_AVAILABLE, () => { });
|
|
115
142
|
expect(updateInfo).toEqual({
|
|
116
143
|
name: 'gemini-extensions',
|
|
@@ -122,7 +149,7 @@ describe('update tests', () => {
|
|
|
122
149
|
});
|
|
123
150
|
it('should call setExtensionUpdateState with UPDATING and then UPDATED_NEEDS_RESTART on success', async () => {
|
|
124
151
|
const extensionName = 'test-extension';
|
|
125
|
-
|
|
152
|
+
createExtension({
|
|
126
153
|
extensionsDir: userExtensionsDir,
|
|
127
154
|
name: extensionName,
|
|
128
155
|
version: '1.0.0',
|
|
@@ -139,7 +166,8 @@ describe('update tests', () => {
|
|
|
139
166
|
});
|
|
140
167
|
mockGit.getRemotes.mockResolvedValue([{ name: 'origin' }]);
|
|
141
168
|
const dispatch = vi.fn();
|
|
142
|
-
const
|
|
169
|
+
const extensions = await extensionManager.loadExtensions();
|
|
170
|
+
const extension = extensions.find((e) => e.name === extensionName);
|
|
143
171
|
await updateExtension(extension, extensionManager, ExtensionUpdateState.UPDATE_AVAILABLE, dispatch);
|
|
144
172
|
expect(dispatch).toHaveBeenCalledWith({
|
|
145
173
|
type: 'SET_STATE',
|
|
@@ -158,7 +186,7 @@ describe('update tests', () => {
|
|
|
158
186
|
});
|
|
159
187
|
it('should call setExtensionUpdateState with ERROR on failure', async () => {
|
|
160
188
|
const extensionName = 'test-extension';
|
|
161
|
-
|
|
189
|
+
createExtension({
|
|
162
190
|
extensionsDir: userExtensionsDir,
|
|
163
191
|
name: extensionName,
|
|
164
192
|
version: '1.0.0',
|
|
@@ -170,7 +198,8 @@ describe('update tests', () => {
|
|
|
170
198
|
mockGit.clone.mockRejectedValue(new Error('Git clone failed'));
|
|
171
199
|
mockGit.getRemotes.mockResolvedValue([{ name: 'origin' }]);
|
|
172
200
|
const dispatch = vi.fn();
|
|
173
|
-
const
|
|
201
|
+
const extensions = await extensionManager.loadExtensions();
|
|
202
|
+
const extension = extensions.find((e) => e.name === extensionName);
|
|
174
203
|
await expect(updateExtension(extension, extensionManager, ExtensionUpdateState.UPDATE_AVAILABLE, dispatch)).rejects.toThrow();
|
|
175
204
|
expect(dispatch).toHaveBeenCalledWith({
|
|
176
205
|
type: 'SET_STATE',
|
|
@@ -190,7 +219,7 @@ describe('update tests', () => {
|
|
|
190
219
|
});
|
|
191
220
|
describe('checkForAllExtensionUpdates', () => {
|
|
192
221
|
it('should return UpdateAvailable for a git extension with updates', async () => {
|
|
193
|
-
|
|
222
|
+
createExtension({
|
|
194
223
|
extensionsDir: userExtensionsDir,
|
|
195
224
|
name: 'test-extension',
|
|
196
225
|
version: '1.0.0',
|
|
@@ -199,14 +228,13 @@ describe('update tests', () => {
|
|
|
199
228
|
type: 'git',
|
|
200
229
|
},
|
|
201
230
|
});
|
|
202
|
-
const extension = extensionManager.loadExtension(extensionDir);
|
|
203
231
|
mockGit.getRemotes.mockResolvedValue([
|
|
204
232
|
{ name: 'origin', refs: { fetch: 'https://some.git/repo' } },
|
|
205
233
|
]);
|
|
206
234
|
mockGit.listRemote.mockResolvedValue('remoteHash HEAD');
|
|
207
235
|
mockGit.revparse.mockResolvedValue('localHash');
|
|
208
236
|
const dispatch = vi.fn();
|
|
209
|
-
await checkForAllExtensionUpdates(
|
|
237
|
+
await checkForAllExtensionUpdates(await extensionManager.loadExtensions(), extensionManager, dispatch);
|
|
210
238
|
expect(dispatch).toHaveBeenCalledWith({
|
|
211
239
|
type: 'SET_STATE',
|
|
212
240
|
payload: {
|
|
@@ -216,7 +244,7 @@ describe('update tests', () => {
|
|
|
216
244
|
});
|
|
217
245
|
});
|
|
218
246
|
it('should return UpToDate for a git extension with no updates', async () => {
|
|
219
|
-
|
|
247
|
+
createExtension({
|
|
220
248
|
extensionsDir: userExtensionsDir,
|
|
221
249
|
name: 'test-extension',
|
|
222
250
|
version: '1.0.0',
|
|
@@ -225,14 +253,13 @@ describe('update tests', () => {
|
|
|
225
253
|
type: 'git',
|
|
226
254
|
},
|
|
227
255
|
});
|
|
228
|
-
const extension = extensionManager.loadExtension(extensionDir);
|
|
229
256
|
mockGit.getRemotes.mockResolvedValue([
|
|
230
257
|
{ name: 'origin', refs: { fetch: 'https://some.git/repo' } },
|
|
231
258
|
]);
|
|
232
259
|
mockGit.listRemote.mockResolvedValue('sameHash HEAD');
|
|
233
260
|
mockGit.revparse.mockResolvedValue('sameHash');
|
|
234
261
|
const dispatch = vi.fn();
|
|
235
|
-
await checkForAllExtensionUpdates(
|
|
262
|
+
await checkForAllExtensionUpdates(await extensionManager.loadExtensions(), extensionManager, dispatch);
|
|
236
263
|
expect(dispatch).toHaveBeenCalledWith({
|
|
237
264
|
type: 'SET_STATE',
|
|
238
265
|
payload: {
|
|
@@ -248,15 +275,14 @@ describe('update tests', () => {
|
|
|
248
275
|
name: 'my-local-ext',
|
|
249
276
|
version: '1.0.0',
|
|
250
277
|
});
|
|
251
|
-
|
|
278
|
+
createExtension({
|
|
252
279
|
extensionsDir: userExtensionsDir,
|
|
253
280
|
name: 'local-extension',
|
|
254
281
|
version: '1.0.0',
|
|
255
282
|
installMetadata: { source: sourceExtensionDir, type: 'local' },
|
|
256
283
|
});
|
|
257
|
-
const extension = extensionManager.loadExtension(installedExtensionDir);
|
|
258
284
|
const dispatch = vi.fn();
|
|
259
|
-
await checkForAllExtensionUpdates(
|
|
285
|
+
await checkForAllExtensionUpdates(await extensionManager.loadExtensions(), extensionManager, dispatch);
|
|
260
286
|
expect(dispatch).toHaveBeenCalledWith({
|
|
261
287
|
type: 'SET_STATE',
|
|
262
288
|
payload: {
|
|
@@ -269,18 +295,17 @@ describe('update tests', () => {
|
|
|
269
295
|
const localExtensionSourcePath = path.join(tempHomeDir, 'local-source');
|
|
270
296
|
const sourceExtensionDir = createExtension({
|
|
271
297
|
extensionsDir: localExtensionSourcePath,
|
|
272
|
-
name: '
|
|
298
|
+
name: 'local-extension',
|
|
273
299
|
version: '1.1.0',
|
|
274
300
|
});
|
|
275
|
-
|
|
301
|
+
createExtension({
|
|
276
302
|
extensionsDir: userExtensionsDir,
|
|
277
303
|
name: 'local-extension',
|
|
278
304
|
version: '1.0.0',
|
|
279
305
|
installMetadata: { source: sourceExtensionDir, type: 'local' },
|
|
280
306
|
});
|
|
281
|
-
const extension = extensionManager.loadExtension(installedExtensionDir);
|
|
282
307
|
const dispatch = vi.fn();
|
|
283
|
-
await checkForAllExtensionUpdates(
|
|
308
|
+
await checkForAllExtensionUpdates(await extensionManager.loadExtensions(), extensionManager, dispatch);
|
|
284
309
|
expect(dispatch).toHaveBeenCalledWith({
|
|
285
310
|
type: 'SET_STATE',
|
|
286
311
|
payload: {
|
|
@@ -290,7 +315,7 @@ describe('update tests', () => {
|
|
|
290
315
|
});
|
|
291
316
|
});
|
|
292
317
|
it('should return Error when git check fails', async () => {
|
|
293
|
-
|
|
318
|
+
createExtension({
|
|
294
319
|
extensionsDir: userExtensionsDir,
|
|
295
320
|
name: 'error-extension',
|
|
296
321
|
version: '1.0.0',
|
|
@@ -299,10 +324,9 @@ describe('update tests', () => {
|
|
|
299
324
|
type: 'git',
|
|
300
325
|
},
|
|
301
326
|
});
|
|
302
|
-
const extension = extensionManager.loadExtension(extensionDir);
|
|
303
327
|
mockGit.getRemotes.mockRejectedValue(new Error('Git error'));
|
|
304
328
|
const dispatch = vi.fn();
|
|
305
|
-
await checkForAllExtensionUpdates(
|
|
329
|
+
await checkForAllExtensionUpdates(await extensionManager.loadExtensions(), extensionManager, dispatch);
|
|
306
330
|
expect(dispatch).toHaveBeenCalledWith({
|
|
307
331
|
type: 'SET_STATE',
|
|
308
332
|
payload: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.test.js","sourceRoot":"","sources":["../../../../src/config/extensions/update.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.test.js","sourceRoot":"","sources":["../../../../src/config/extensions/update.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,7 +112,7 @@ export const defaultKeyBindings = {
|
|
|
112
112
|
],
|
|
113
113
|
[Command.PASTE_CLIPBOARD_IMAGE]: [{ key: 'v', ctrl: true }],
|
|
114
114
|
// App level bindings
|
|
115
|
-
[Command.SHOW_ERROR_DETAILS]: [{ key: '
|
|
115
|
+
[Command.SHOW_ERROR_DETAILS]: [{ key: 'f12' }],
|
|
116
116
|
[Command.SHOW_FULL_TODOS]: [{ key: 't', ctrl: true }],
|
|
117
117
|
[Command.TOGGLE_IDE_CONTEXT_DETAIL]: [{ key: 'g', ctrl: true }],
|
|
118
118
|
[Command.TOGGLE_MARKDOWN]: [{ key: 'm', command: true }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyBindings.js","sourceRoot":"","sources":["../../../src/config/keyBindings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"keyBindings.js","sourceRoot":"","sources":["../../../src/config/keyBindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Priority system for policy rules:
|
|
2
|
+
# - Higher priority numbers win over lower priority numbers
|
|
3
|
+
# - When multiple rules match, the highest priority rule is applied
|
|
4
|
+
# - Rules are evaluated in order of priority (highest first)
|
|
5
|
+
#
|
|
6
|
+
# Priority bands (tiers):
|
|
7
|
+
# - Default policies (TOML): 1 + priority/1000 (e.g., priority 100 → 1.100)
|
|
8
|
+
# - User policies (TOML): 2 + priority/1000 (e.g., priority 100 → 2.100)
|
|
9
|
+
# - Admin policies (TOML): 3 + priority/1000 (e.g., priority 100 → 3.100)
|
|
10
|
+
#
|
|
11
|
+
# This ensures Admin > User > Default hierarchy is always preserved,
|
|
12
|
+
# while allowing user-specified priorities to work within each tier.
|
|
13
|
+
#
|
|
14
|
+
# Settings-based and dynamic rules (all in user tier 2.x):
|
|
15
|
+
# 2.95: Tools that the user has selected as "Always Allow" in the interactive UI
|
|
16
|
+
# 2.9: MCP servers excluded list (security: persistent server blocks)
|
|
17
|
+
# 2.4: Command line flag --exclude-tools (explicit temporary blocks)
|
|
18
|
+
# 2.3: Command line flag --allowed-tools (explicit temporary allows)
|
|
19
|
+
# 2.2: MCP servers with trust=true (persistent trusted servers)
|
|
20
|
+
# 2.1: MCP servers allowed list (persistent general server allows)
|
|
21
|
+
#
|
|
22
|
+
# TOML policy priorities (before transformation):
|
|
23
|
+
# 10: Write tools default to ASK_USER (becomes 1.010 in default tier)
|
|
24
|
+
# 15: Auto-edit tool override (becomes 1.015 in default tier)
|
|
25
|
+
# 50: Read-only tools (becomes 1.050 in default tier)
|
|
26
|
+
# 999: YOLO mode allow-all (becomes 1.999 in default tier)
|
|
27
|
+
|
|
28
|
+
[[rule]]
|
|
29
|
+
toolName = "glob"
|
|
30
|
+
decision = "allow"
|
|
31
|
+
priority = 50
|
|
32
|
+
|
|
33
|
+
[[rule]]
|
|
34
|
+
toolName = "search_file_content"
|
|
35
|
+
decision = "allow"
|
|
36
|
+
priority = 50
|
|
37
|
+
|
|
38
|
+
[[rule]]
|
|
39
|
+
toolName = "list_directory"
|
|
40
|
+
decision = "allow"
|
|
41
|
+
priority = 50
|
|
42
|
+
|
|
43
|
+
[[rule]]
|
|
44
|
+
toolName = "read_file"
|
|
45
|
+
decision = "allow"
|
|
46
|
+
priority = 50
|
|
47
|
+
|
|
48
|
+
[[rule]]
|
|
49
|
+
toolName = "read_many_files"
|
|
50
|
+
decision = "allow"
|
|
51
|
+
priority = 50
|
|
52
|
+
|
|
53
|
+
[[rule]]
|
|
54
|
+
toolName = "google_web_search"
|
|
55
|
+
decision = "allow"
|
|
56
|
+
priority = 50
|