@google/gemini-cli 0.1.9-nightly.250709.c8cf954e → 0.1.9-rc.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 +3 -17
- package/dist/google-gemini-cli-0.1.9-rc.0.tgz +0 -0
- package/dist/index.js +0 -0
- package/dist/package.json +10 -9
- package/dist/src/config/auth.js +5 -6
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/config.d.ts +1 -0
- package/dist/src/config/config.js +44 -64
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/extension.d.ts +0 -2
- package/dist/src/config/extension.js +6 -34
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/sandboxConfig.d.ts +1 -1
- package/dist/src/config/sandboxConfig.js +1 -1
- package/dist/src/config/sandboxConfig.js.map +1 -1
- package/dist/src/config/settings.d.ts +0 -2
- package/dist/src/config/settings.js +1 -63
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/gemini.js +20 -26
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/{ui/commands/types.js → gemini.test.d.ts} +0 -1
- package/dist/src/gemini.test.js +122 -0
- package/dist/src/gemini.test.js.map +1 -0
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/ui/App.js +7 -11
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/App.test.d.ts +6 -0
- package/dist/src/ui/App.test.js +299 -0
- package/dist/src/ui/App.test.js.map +1 -0
- package/dist/src/ui/components/AuthDialog.js +8 -36
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.test.d.ts +6 -0
- package/dist/src/ui/components/AuthDialog.test.js +69 -0
- package/dist/src/ui/components/AuthDialog.test.js.map +1 -0
- package/dist/src/ui/components/Help.d.ts +1 -1
- package/dist/src/ui/components/Help.js +2 -3
- package/dist/src/ui/components/Help.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/HistoryItemDisplay.test.js +81 -0
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -0
- package/dist/src/ui/components/InputPrompt.d.ts +1 -2
- package/dist/src/ui/components/InputPrompt.js +157 -106
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.d.ts +6 -0
- package/dist/src/ui/components/InputPrompt.test.js +154 -0
- package/dist/src/ui/components/InputPrompt.test.js.map +1 -0
- package/dist/src/ui/components/LoadingIndicator.js +1 -2
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.d.ts +6 -0
- package/dist/src/ui/components/LoadingIndicator.test.js +141 -0
- package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -0
- package/dist/src/ui/components/ModelStatsDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/ModelStatsDisplay.test.js +217 -0
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -0
- package/dist/src/ui/components/SessionSummaryDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +60 -0
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -0
- package/dist/src/ui/components/StatsDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/StatsDisplay.test.js +275 -0
- package/dist/src/ui/components/StatsDisplay.test.js.map +1 -0
- package/dist/src/ui/components/ToolStatsDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/ToolStatsDisplay.test.js +160 -0
- package/dist/src/ui/components/ToolStatsDisplay.test.js.map +1 -0
- package/dist/src/ui/components/messages/CompressionMessage.js +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +6 -0
- package/dist/src/ui/components/messages/DiffRenderer.test.js +239 -0
- package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +37 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolMessage.test.js +116 -0
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -0
- package/dist/src/ui/components/shared/MaxSizedBox.js +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +6 -0
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +134 -0
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -0
- package/dist/src/ui/components/shared/text-buffer.d.ts +16 -72
- package/dist/src/ui/components/shared/text-buffer.js +676 -564
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.d.ts +1 -1
- package/dist/src/ui/contexts/SessionContext.test.d.ts +6 -0
- package/dist/src/ui/contexts/SessionContext.test.js +96 -0
- package/dist/src/ui/contexts/SessionContext.test.js.map +1 -0
- package/dist/src/ui/hooks/atCommandProcessor.js +7 -5
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +10 -6
- package/dist/src/ui/hooks/slashCommandProcessor.js +124 -235
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useCompletion.d.ts +2 -2
- package/dist/src/ui/hooks/useCompletion.js +56 -106
- package/dist/src/ui/hooks/useCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -2
- package/dist/src/ui/hooks/useGeminiStream.js +18 -12
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.d.ts +6 -0
- package/dist/src/ui/hooks/useGeminiStream.test.js +775 -0
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -0
- package/dist/src/ui/themes/ansi.js +1 -1
- package/dist/src/ui/themes/ansi.js.map +1 -1
- package/dist/src/ui/types.d.ts +0 -10
- package/dist/src/ui/utils/MarkdownDisplay.js +80 -1
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
- package/dist/src/ui/utils/MarkdownDisplay.test.js +176 -0
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
- package/dist/src/ui/utils/TableRenderer.js +32 -50
- package/dist/src/ui/utils/TableRenderer.js.map +1 -1
- package/dist/src/utils/sandbox-macos-permissive-proxied.sb +1 -1
- package/dist/src/utils/sandbox-macos-restrictive-proxied.sb +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -9
- package/dist/google-gemini-cli-0.1.9.tgz +0 -0
- package/dist/src/services/CommandService.d.ts +0 -13
- package/dist/src/services/CommandService.js +0 -30
- package/dist/src/services/CommandService.js.map +0 -1
- package/dist/src/ui/commands/clearCommand.d.ts +0 -7
- package/dist/src/ui/commands/clearCommand.js +0 -15
- package/dist/src/ui/commands/clearCommand.js.map +0 -1
- package/dist/src/ui/commands/helpCommand.d.ts +0 -7
- package/dist/src/ui/commands/helpCommand.js +0 -18
- package/dist/src/ui/commands/helpCommand.js.map +0 -1
- package/dist/src/ui/commands/memoryCommand.d.ts +0 -7
- package/dist/src/ui/commands/memoryCommand.js +0 -81
- package/dist/src/ui/commands/memoryCommand.js.map +0 -1
- package/dist/src/ui/commands/types.d.ts +0 -63
- package/dist/src/ui/commands/types.js.map +0 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +0 -16
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +0 -104
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +0 -1
- package/dist/src/utils/userStartupWarnings.d.ts +0 -6
- package/dist/src/utils/userStartupWarnings.js +0 -33
- package/dist/src/utils/userStartupWarnings.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@google/gemini-cli",
|
|
3
|
-
"version": "0.1.9-
|
|
3
|
+
"version": "0.1.9-rc.0",
|
|
4
4
|
"description": "Gemini CLI",
|
|
5
|
-
"repository":
|
|
6
|
-
"type": "git",
|
|
7
|
-
"url": "git+https://github.com/google-gemini/gemini-cli.git"
|
|
8
|
-
},
|
|
5
|
+
"repository": "google-gemini/gemini-cli",
|
|
9
6
|
"type": "module",
|
|
10
7
|
"main": "dist/index.js",
|
|
11
8
|
"bin": {
|
|
@@ -19,16 +16,20 @@
|
|
|
19
16
|
"format": "prettier --write .",
|
|
20
17
|
"test": "vitest run",
|
|
21
18
|
"test:ci": "vitest run --coverage",
|
|
22
|
-
"typecheck": "tsc --noEmit"
|
|
19
|
+
"typecheck": "tsc --noEmit",
|
|
20
|
+
"prerelease:version": "node ../../scripts/bind_package_version.js",
|
|
21
|
+
"prerelease:deps": "node ../../scripts/bind_package_dependencies.js",
|
|
22
|
+
"prepack": "npm run build",
|
|
23
|
+
"prepublishOnly": "node ../../scripts/prepublish.js"
|
|
23
24
|
},
|
|
24
25
|
"files": [
|
|
25
26
|
"dist"
|
|
26
27
|
],
|
|
27
28
|
"config": {
|
|
28
|
-
"sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.9-
|
|
29
|
+
"sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.9-rc.0"
|
|
29
30
|
},
|
|
30
31
|
"dependencies": {
|
|
31
|
-
"@google/gemini-cli-core": "0.1.9-
|
|
32
|
+
"@google/gemini-cli-core": "0.1.9-rc.0",
|
|
32
33
|
"@types/update-notifier": "^6.0.8",
|
|
33
34
|
"command-exists": "^1.2.9",
|
|
34
35
|
"diff": "^7.0.0",
|
|
@@ -75,6 +76,6 @@
|
|
|
75
76
|
"vitest": "^3.1.1"
|
|
76
77
|
},
|
|
77
78
|
"engines": {
|
|
78
|
-
"node": ">=
|
|
79
|
+
"node": ">=18"
|
|
79
80
|
}
|
|
80
81
|
}
|
|
Binary file
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { SlashCommand } from '../ui/commands/types.js';
|
|
7
|
-
export declare class CommandService {
|
|
8
|
-
private commandLoader;
|
|
9
|
-
private commands;
|
|
10
|
-
constructor(commandLoader?: () => Promise<SlashCommand[]>);
|
|
11
|
-
loadCommands(): Promise<void>;
|
|
12
|
-
getCommands(): SlashCommand[];
|
|
13
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { memoryCommand } from '../ui/commands/memoryCommand.js';
|
|
7
|
-
import { helpCommand } from '../ui/commands/helpCommand.js';
|
|
8
|
-
import { clearCommand } from '../ui/commands/clearCommand.js';
|
|
9
|
-
const loadBuiltInCommands = async () => [
|
|
10
|
-
clearCommand,
|
|
11
|
-
helpCommand,
|
|
12
|
-
memoryCommand,
|
|
13
|
-
];
|
|
14
|
-
export class CommandService {
|
|
15
|
-
commandLoader;
|
|
16
|
-
commands = [];
|
|
17
|
-
constructor(commandLoader = loadBuiltInCommands) {
|
|
18
|
-
this.commandLoader = commandLoader;
|
|
19
|
-
// The constructor can be used for dependency injection in the future.
|
|
20
|
-
}
|
|
21
|
-
async loadCommands() {
|
|
22
|
-
// For now, we only load the built-in commands.
|
|
23
|
-
// File-based and remote commands will be added later.
|
|
24
|
-
this.commands = await this.commandLoader();
|
|
25
|
-
}
|
|
26
|
-
getCommands() {
|
|
27
|
-
return this.commands;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=CommandService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CommandService.js","sourceRoot":"","sources":["../../../src/services/CommandService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,mBAAmB,GAAG,KAAK,IAA6B,EAAE,CAAC;IAC/D,YAAY;IACZ,WAAW;IACX,aAAa;CACd,CAAC;AAEF,MAAM,OAAO,cAAc;IAIf;IAHF,QAAQ,GAAmB,EAAE,CAAC;IAEtC,YACU,gBAA+C,mBAAmB;QAAlE,kBAAa,GAAb,aAAa,CAAqD;QAE1E,sEAAsE;IACxE,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,+CAA+C;QAC/C,sDAAsD;QACtD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export const clearCommand = {
|
|
7
|
-
name: 'clear',
|
|
8
|
-
description: 'clear the screen and conversation history',
|
|
9
|
-
action: async (context, _args) => {
|
|
10
|
-
context.ui.setDebugMessage('Clearing terminal and resetting chat.');
|
|
11
|
-
await context.services.config?.getGeminiClient()?.resetChat();
|
|
12
|
-
context.ui.clear();
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=clearCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clearCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/clearCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC/B,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAC;QACpE,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,CAAC;QAC9D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export const helpCommand = {
|
|
7
|
-
name: 'help',
|
|
8
|
-
altName: '?',
|
|
9
|
-
description: 'for help on gemini-cli',
|
|
10
|
-
action: (_context, _args) => {
|
|
11
|
-
console.debug('Opening help UI ...');
|
|
12
|
-
return {
|
|
13
|
-
type: 'dialog',
|
|
14
|
-
dialog: 'help',
|
|
15
|
-
};
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=helpCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/helpCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,wBAAwB;IACrC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAA0B,EAAE;QAClD,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { getErrorMessage } from '@google/gemini-cli-core';
|
|
7
|
-
import { MessageType } from '../types.js';
|
|
8
|
-
export const memoryCommand = {
|
|
9
|
-
name: 'memory',
|
|
10
|
-
description: 'Commands for interacting with memory.',
|
|
11
|
-
subCommands: [
|
|
12
|
-
{
|
|
13
|
-
name: 'show',
|
|
14
|
-
description: 'Show the current memory contents.',
|
|
15
|
-
action: async (context) => {
|
|
16
|
-
const memoryContent = context.services.config?.getUserMemory() || '';
|
|
17
|
-
const fileCount = context.services.config?.getGeminiMdFileCount() || 0;
|
|
18
|
-
const messageContent = memoryContent.length > 0
|
|
19
|
-
? `Current memory content from ${fileCount} file(s):\n\n---\n${memoryContent}\n---`
|
|
20
|
-
: 'Memory is currently empty.';
|
|
21
|
-
context.ui.addItem({
|
|
22
|
-
type: MessageType.INFO,
|
|
23
|
-
text: messageContent,
|
|
24
|
-
}, Date.now());
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: 'add',
|
|
29
|
-
description: 'Add content to the memory.',
|
|
30
|
-
action: (context, args) => {
|
|
31
|
-
if (!args || args.trim() === '') {
|
|
32
|
-
return {
|
|
33
|
-
type: 'message',
|
|
34
|
-
messageType: 'error',
|
|
35
|
-
content: 'Usage: /memory add <text to remember>',
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
context.ui.addItem({
|
|
39
|
-
type: MessageType.INFO,
|
|
40
|
-
text: `Attempting to save to memory: "${args.trim()}"`,
|
|
41
|
-
}, Date.now());
|
|
42
|
-
return {
|
|
43
|
-
type: 'tool',
|
|
44
|
-
toolName: 'save_memory',
|
|
45
|
-
toolArgs: { fact: args.trim() },
|
|
46
|
-
};
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: 'refresh',
|
|
51
|
-
description: 'Refresh the memory from the source.',
|
|
52
|
-
action: async (context) => {
|
|
53
|
-
context.ui.addItem({
|
|
54
|
-
type: MessageType.INFO,
|
|
55
|
-
text: 'Refreshing memory from source files...',
|
|
56
|
-
}, Date.now());
|
|
57
|
-
try {
|
|
58
|
-
const result = await context.services.config?.refreshMemory();
|
|
59
|
-
if (result) {
|
|
60
|
-
const { memoryContent, fileCount } = result;
|
|
61
|
-
const successMessage = memoryContent.length > 0
|
|
62
|
-
? `Memory refreshed successfully. Loaded ${memoryContent.length} characters from ${fileCount} file(s).`
|
|
63
|
-
: 'Memory refreshed successfully. No memory content found.';
|
|
64
|
-
context.ui.addItem({
|
|
65
|
-
type: MessageType.INFO,
|
|
66
|
-
text: successMessage,
|
|
67
|
-
}, Date.now());
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
const errorMessage = getErrorMessage(error);
|
|
72
|
-
context.ui.addItem({
|
|
73
|
-
type: MessageType.ERROR,
|
|
74
|
-
text: `Error refreshing memory: ${errorMessage}`,
|
|
75
|
-
}, Date.now());
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
],
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=memoryCommand.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memoryCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/memoryCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { Config, GitService, Logger } from '@google/gemini-cli-core';
|
|
7
|
-
import { LoadedSettings } from '../../config/settings.js';
|
|
8
|
-
import { UseHistoryManagerReturn } from '../hooks/useHistoryManager.js';
|
|
9
|
-
import { SessionStatsState } from '../contexts/SessionContext.js';
|
|
10
|
-
export interface CommandContext {
|
|
11
|
-
services: {
|
|
12
|
-
config: Config | null;
|
|
13
|
-
settings: LoadedSettings;
|
|
14
|
-
git: GitService | undefined;
|
|
15
|
-
logger: Logger;
|
|
16
|
-
};
|
|
17
|
-
ui: {
|
|
18
|
-
/** Adds a new item to the history display. */
|
|
19
|
-
addItem: UseHistoryManagerReturn['addItem'];
|
|
20
|
-
/** Clears all history items and the console screen. */
|
|
21
|
-
clear: () => void;
|
|
22
|
-
/**
|
|
23
|
-
* Sets the transient debug message displayed in the application footer in debug mode.
|
|
24
|
-
*/
|
|
25
|
-
setDebugMessage: (message: string) => void;
|
|
26
|
-
};
|
|
27
|
-
session: {
|
|
28
|
-
stats: SessionStatsState;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* The return type for a command action that results in scheduling a tool call.
|
|
33
|
-
*/
|
|
34
|
-
export interface ToolActionReturn {
|
|
35
|
-
type: 'tool';
|
|
36
|
-
toolName: string;
|
|
37
|
-
toolArgs: Record<string, unknown>;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* The return type for a command action that results in a simple message
|
|
41
|
-
* being displayed to the user.
|
|
42
|
-
*/
|
|
43
|
-
export interface MessageActionReturn {
|
|
44
|
-
type: 'message';
|
|
45
|
-
messageType: 'info' | 'error';
|
|
46
|
-
content: string;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* The return type for a command action that needs to open a dialog.
|
|
50
|
-
*/
|
|
51
|
-
export interface OpenDialogActionReturn {
|
|
52
|
-
type: 'dialog';
|
|
53
|
-
dialog: 'help';
|
|
54
|
-
}
|
|
55
|
-
export type SlashCommandActionReturn = ToolActionReturn | MessageActionReturn | OpenDialogActionReturn;
|
|
56
|
-
export interface SlashCommand {
|
|
57
|
-
name: string;
|
|
58
|
-
altName?: string;
|
|
59
|
-
description?: string;
|
|
60
|
-
action?: (context: CommandContext, args: string) => void | SlashCommandActionReturn | Promise<void | SlashCommandActionReturn>;
|
|
61
|
-
completion?: (context: CommandContext, partialArg: string) => Promise<string[]>;
|
|
62
|
-
subCommands?: SlashCommand[];
|
|
63
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ui/commands/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import React from 'react';
|
|
7
|
-
interface RenderInlineProps {
|
|
8
|
-
text: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const RenderInline: React.NamedExoticComponent<RenderInlineProps>;
|
|
11
|
-
/**
|
|
12
|
-
* Utility function to get the plain text length of a string with markdown formatting
|
|
13
|
-
* This is useful for calculating column widths in tables
|
|
14
|
-
*/
|
|
15
|
-
export declare const getPlainTextLength: (text: string) => number;
|
|
16
|
-
export {};
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright 2025 Google LLC
|
|
5
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
-
*/
|
|
7
|
-
import React from 'react';
|
|
8
|
-
import { Text } from 'ink';
|
|
9
|
-
import { Colors } from '../colors.js';
|
|
10
|
-
import stringWidth from 'string-width';
|
|
11
|
-
// Constants for Markdown parsing
|
|
12
|
-
const BOLD_MARKER_LENGTH = 2; // For "**"
|
|
13
|
-
const ITALIC_MARKER_LENGTH = 1; // For "*" or "_"
|
|
14
|
-
const STRIKETHROUGH_MARKER_LENGTH = 2; // For "~~"
|
|
15
|
-
const INLINE_CODE_MARKER_LENGTH = 1; // For "`"
|
|
16
|
-
const UNDERLINE_TAG_START_LENGTH = 3; // For "<u>"
|
|
17
|
-
const UNDERLINE_TAG_END_LENGTH = 4; // For "</u>"
|
|
18
|
-
const RenderInlineInternal = ({ text }) => {
|
|
19
|
-
const nodes = [];
|
|
20
|
-
let lastIndex = 0;
|
|
21
|
-
const inlineRegex = /(\*\*.*?\*\*|\*.*?\*|_.*?_|~~.*?~~|\[.*?\]\(.*?\)|`+.+?`+|<u>.*?<\/u>)/g;
|
|
22
|
-
let match;
|
|
23
|
-
while ((match = inlineRegex.exec(text)) !== null) {
|
|
24
|
-
if (match.index > lastIndex) {
|
|
25
|
-
nodes.push(_jsx(Text, { children: text.slice(lastIndex, match.index) }, `t-${lastIndex}`));
|
|
26
|
-
}
|
|
27
|
-
const fullMatch = match[0];
|
|
28
|
-
let renderedNode = null;
|
|
29
|
-
const key = `m-${match.index}`;
|
|
30
|
-
try {
|
|
31
|
-
if (fullMatch.startsWith('**') &&
|
|
32
|
-
fullMatch.endsWith('**') &&
|
|
33
|
-
fullMatch.length > BOLD_MARKER_LENGTH * 2) {
|
|
34
|
-
renderedNode = (_jsx(Text, { bold: true, children: fullMatch.slice(BOLD_MARKER_LENGTH, -BOLD_MARKER_LENGTH) }, key));
|
|
35
|
-
}
|
|
36
|
-
else if (fullMatch.length > ITALIC_MARKER_LENGTH * 2 &&
|
|
37
|
-
((fullMatch.startsWith('*') && fullMatch.endsWith('*')) ||
|
|
38
|
-
(fullMatch.startsWith('_') && fullMatch.endsWith('_'))) &&
|
|
39
|
-
!/\w/.test(text.substring(match.index - 1, match.index)) &&
|
|
40
|
-
!/\w/.test(text.substring(inlineRegex.lastIndex, inlineRegex.lastIndex + 1)) &&
|
|
41
|
-
!/\S[./\\]/.test(text.substring(match.index - 2, match.index)) &&
|
|
42
|
-
!/[./\\]\S/.test(text.substring(inlineRegex.lastIndex, inlineRegex.lastIndex + 2))) {
|
|
43
|
-
renderedNode = (_jsx(Text, { italic: true, children: fullMatch.slice(ITALIC_MARKER_LENGTH, -ITALIC_MARKER_LENGTH) }, key));
|
|
44
|
-
}
|
|
45
|
-
else if (fullMatch.startsWith('~~') &&
|
|
46
|
-
fullMatch.endsWith('~~') &&
|
|
47
|
-
fullMatch.length > STRIKETHROUGH_MARKER_LENGTH * 2) {
|
|
48
|
-
renderedNode = (_jsx(Text, { strikethrough: true, children: fullMatch.slice(STRIKETHROUGH_MARKER_LENGTH, -STRIKETHROUGH_MARKER_LENGTH) }, key));
|
|
49
|
-
}
|
|
50
|
-
else if (fullMatch.startsWith('`') &&
|
|
51
|
-
fullMatch.endsWith('`') &&
|
|
52
|
-
fullMatch.length > INLINE_CODE_MARKER_LENGTH) {
|
|
53
|
-
const codeMatch = fullMatch.match(/^(`+)(.+?)\1$/s);
|
|
54
|
-
if (codeMatch && codeMatch[2]) {
|
|
55
|
-
renderedNode = (_jsx(Text, { color: Colors.AccentPurple, children: codeMatch[2] }, key));
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else if (fullMatch.startsWith('[') &&
|
|
59
|
-
fullMatch.includes('](') &&
|
|
60
|
-
fullMatch.endsWith(')')) {
|
|
61
|
-
const linkMatch = fullMatch.match(/\[(.*?)\]\((.*?)\)/);
|
|
62
|
-
if (linkMatch) {
|
|
63
|
-
const linkText = linkMatch[1];
|
|
64
|
-
const url = linkMatch[2];
|
|
65
|
-
renderedNode = (_jsxs(Text, { children: [linkText, _jsxs(Text, { color: Colors.AccentBlue, children: [" (", url, ")"] })] }, key));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
else if (fullMatch.startsWith('<u>') &&
|
|
69
|
-
fullMatch.endsWith('</u>') &&
|
|
70
|
-
fullMatch.length >
|
|
71
|
-
UNDERLINE_TAG_START_LENGTH + UNDERLINE_TAG_END_LENGTH - 1 // -1 because length is compared to combined length of start and end tags
|
|
72
|
-
) {
|
|
73
|
-
renderedNode = (_jsx(Text, { underline: true, children: fullMatch.slice(UNDERLINE_TAG_START_LENGTH, -UNDERLINE_TAG_END_LENGTH) }, key));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch (e) {
|
|
77
|
-
console.error('Error parsing inline markdown part:', fullMatch, e);
|
|
78
|
-
renderedNode = null;
|
|
79
|
-
}
|
|
80
|
-
nodes.push(renderedNode ?? _jsx(Text, { children: fullMatch }, key));
|
|
81
|
-
lastIndex = inlineRegex.lastIndex;
|
|
82
|
-
}
|
|
83
|
-
if (lastIndex < text.length) {
|
|
84
|
-
nodes.push(_jsx(Text, { children: text.slice(lastIndex) }, `t-${lastIndex}`));
|
|
85
|
-
}
|
|
86
|
-
return _jsx(_Fragment, { children: nodes.filter((node) => node !== null) });
|
|
87
|
-
};
|
|
88
|
-
export const RenderInline = React.memo(RenderInlineInternal);
|
|
89
|
-
/**
|
|
90
|
-
* Utility function to get the plain text length of a string with markdown formatting
|
|
91
|
-
* This is useful for calculating column widths in tables
|
|
92
|
-
*/
|
|
93
|
-
export const getPlainTextLength = (text) => {
|
|
94
|
-
const cleanText = text
|
|
95
|
-
.replace(/\*\*(.*?)\*\*/g, '$1')
|
|
96
|
-
.replace(/\*(.*?)\*/g, '$1')
|
|
97
|
-
.replace(/_(.*?)_/g, '$1')
|
|
98
|
-
.replace(/~~(.*?)~~/g, '$1')
|
|
99
|
-
.replace(/`(.*?)`/g, '$1')
|
|
100
|
-
.replace(/<u>(.*?)<\/u>/g, '$1')
|
|
101
|
-
.replace(/\[(.*?)\]\(.*?\)/g, '$1');
|
|
102
|
-
return stringWidth(cleanText);
|
|
103
|
-
};
|
|
104
|
-
//# sourceMappingURL=InlineMarkdownRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InlineMarkdownRenderer.js","sourceRoot":"","sources":["../../../../src/ui/utils/InlineMarkdownRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import fs from 'fs/promises';
|
|
7
|
-
import * as os from 'os';
|
|
8
|
-
// Individual warning checks
|
|
9
|
-
const homeDirectoryCheck = {
|
|
10
|
-
id: 'home-directory',
|
|
11
|
-
check: async (workspaceRoot) => {
|
|
12
|
-
try {
|
|
13
|
-
const [workspaceRealPath, homeRealPath] = await Promise.all([
|
|
14
|
-
fs.realpath(workspaceRoot),
|
|
15
|
-
fs.realpath(os.homedir()),
|
|
16
|
-
]);
|
|
17
|
-
if (workspaceRealPath === homeRealPath) {
|
|
18
|
-
return 'You are running Gemini CLI in your home directory. It is recommended to run in a project-specific directory.';
|
|
19
|
-
}
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
catch (_err) {
|
|
23
|
-
return 'Could not verify the current directory due to a file system error.';
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
// All warning checks
|
|
28
|
-
const WARNING_CHECKS = [homeDirectoryCheck];
|
|
29
|
-
export async function getUserStartupWarnings(workspaceRoot) {
|
|
30
|
-
const results = await Promise.all(WARNING_CHECKS.map((check) => check.check(workspaceRoot)));
|
|
31
|
-
return results.filter((msg) => msg !== null);
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=userStartupWarnings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"userStartupWarnings.js","sourceRoot":"","sources":["../../../src/utils/userStartupWarnings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAOzB,4BAA4B;AAC5B,MAAM,kBAAkB,GAAiB;IACvC,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,KAAK,EAAE,aAAqB,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC1D,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC1B,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;aAC1B,CAAC,CAAC;YAEH,IAAI,iBAAiB,KAAK,YAAY,EAAE,CAAC;gBACvC,OAAO,8GAA8G,CAAC;YACxH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,IAAa,EAAE,CAAC;YACvB,OAAO,oEAAoE,CAAC;QAC9E,CAAC;IACH,CAAC;CACF,CAAC;AAEF,qBAAqB;AACrB,MAAM,cAAc,GAA4B,CAAC,kBAAkB,CAAC,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,aAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAC1D,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;AAC/C,CAAC"}
|