@google/gemini-cli 0.8.0-nightly.20250929.a49a09f1 → 0.8.0-nightly.20250930.ae51bbda

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/config/extension.d.ts +3 -2
  3. package/dist/src/config/extension.js +27 -11
  4. package/dist/src/config/extension.js.map +1 -1
  5. package/dist/src/generated/git-commit.d.ts +2 -2
  6. package/dist/src/generated/git-commit.js +2 -2
  7. package/dist/src/ui/App.js +17 -1
  8. package/dist/src/ui/App.js.map +1 -1
  9. package/dist/src/ui/AppContainer.js +10 -7
  10. package/dist/src/ui/AppContainer.js.map +1 -1
  11. package/dist/src/ui/AppContainer.test.js +7 -0
  12. package/dist/src/ui/AppContainer.test.js.map +1 -1
  13. package/dist/src/ui/commands/extensionsCommand.js +11 -2
  14. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  15. package/dist/src/ui/commands/mcpCommand.js +78 -260
  16. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  17. package/dist/src/ui/commands/toolsCommand.js +10 -24
  18. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  19. package/dist/src/ui/commands/types.d.ts +2 -1
  20. package/dist/src/ui/commands/types.js.map +1 -1
  21. package/dist/src/ui/components/ConsentPrompt.d.ts +13 -0
  22. package/dist/src/ui/components/ConsentPrompt.js +19 -0
  23. package/dist/src/ui/components/ConsentPrompt.js.map +1 -0
  24. package/dist/src/ui/components/ConsentPrompt.test.d.ts +6 -0
  25. package/dist/src/ui/components/ConsentPrompt.test.js +67 -0
  26. package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -0
  27. package/dist/src/ui/components/ContextUsageDisplay.d.ts +2 -1
  28. package/dist/src/ui/components/ContextUsageDisplay.js +4 -2
  29. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
  30. package/dist/src/ui/components/DialogManager.d.ts +2 -1
  31. package/dist/src/ui/components/DialogManager.js +9 -9
  32. package/dist/src/ui/components/DialogManager.js.map +1 -1
  33. package/dist/src/ui/components/Footer.js +5 -14
  34. package/dist/src/ui/components/Footer.js.map +1 -1
  35. package/dist/src/ui/components/HistoryItemDisplay.js +4 -1
  36. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  37. package/dist/src/ui/components/IdeTrustChangeDialog.d.ts +11 -0
  38. package/dist/src/ui/components/IdeTrustChangeDialog.js +32 -0
  39. package/dist/src/ui/components/IdeTrustChangeDialog.js.map +1 -0
  40. package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +6 -0
  41. package/dist/src/ui/components/IdeTrustChangeDialog.test.js +57 -0
  42. package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -0
  43. package/dist/src/ui/components/views/McpStatus.d.ts +27 -0
  44. package/dist/src/ui/components/views/McpStatus.js +77 -0
  45. package/dist/src/ui/components/views/McpStatus.js.map +1 -0
  46. package/dist/src/ui/components/views/McpStatus.test.d.ts +6 -0
  47. package/dist/src/ui/components/views/McpStatus.test.js +117 -0
  48. package/dist/src/ui/components/views/McpStatus.test.js.map +1 -0
  49. package/dist/src/ui/components/views/ToolsList.d.ts +14 -0
  50. package/dist/src/ui/components/views/ToolsList.js +7 -0
  51. package/dist/src/ui/components/views/ToolsList.js.map +1 -0
  52. package/dist/src/ui/components/views/ToolsList.test.d.ts +6 -0
  53. package/dist/src/ui/components/views/ToolsList.test.js +45 -0
  54. package/dist/src/ui/components/views/ToolsList.test.js.map +1 -0
  55. package/dist/src/ui/contexts/UIStateContext.d.ts +3 -0
  56. package/dist/src/ui/contexts/UIStateContext.js +1 -0
  57. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  58. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +2 -1
  59. package/dist/src/ui/hooks/slashCommandProcessor.js +1 -0
  60. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  61. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +6 -0
  62. package/dist/src/ui/hooks/useExtensionUpdates.js +20 -3
  63. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  64. package/dist/src/ui/hooks/useIdeTrustListener.d.ts +4 -2
  65. package/dist/src/ui/hooks/useIdeTrustListener.js +40 -14
  66. package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -1
  67. package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +6 -0
  68. package/dist/src/ui/hooks/useIdeTrustListener.test.js +183 -0
  69. package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -0
  70. package/dist/src/ui/hooks/useToolScheduler.test.js +2 -2
  71. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  72. package/dist/src/ui/layouts/DefaultAppLayout.d.ts +3 -1
  73. package/dist/src/ui/layouts/DefaultAppLayout.js +2 -2
  74. package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -1
  75. package/dist/src/ui/layouts/ScreenReaderAppLayout.js +1 -1
  76. package/dist/src/ui/layouts/ScreenReaderAppLayout.js.map +1 -1
  77. package/dist/src/ui/noninteractive/nonInteractiveUi.js +1 -0
  78. package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -1
  79. package/dist/src/ui/types.d.ts +45 -3
  80. package/dist/src/ui/types.js +2 -0
  81. package/dist/src/ui/types.js.map +1 -1
  82. package/dist/src/ui/utils/MarkdownDisplay.js +1 -2
  83. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  84. package/dist/src/ui/utils/MarkdownDisplay.test.js +91 -86
  85. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  86. package/dist/src/ui/utils/displayUtils.d.ts +1 -0
  87. package/dist/src/ui/utils/displayUtils.js +3 -0
  88. package/dist/src/ui/utils/displayUtils.js.map +1 -1
  89. package/dist/src/ui/utils/displayUtils.test.js +36 -17
  90. package/dist/src/ui/utils/displayUtils.test.js.map +1 -1
  91. package/dist/src/utils/math.d.ts +13 -0
  92. package/dist/src/utils/math.js +14 -0
  93. package/dist/src/utils/math.js.map +1 -0
  94. package/dist/src/zed-integration/schema.d.ts +128 -128
  95. package/dist/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +3 -3
@@ -0,0 +1,77 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { MCPServerStatus } from '@google/gemini-cli-core';
3
+ import { Box, Text } from 'ink';
4
+ import { theme } from '../../semantic-colors.js';
5
+ export const McpStatus = ({ servers, tools, prompts, blockedServers, serverStatus, authStatus, discoveryInProgress, connectingServers, showDescriptions, showSchema, showTips, }) => {
6
+ const serverNames = Object.keys(servers);
7
+ if (serverNames.length === 0 && blockedServers.length === 0) {
8
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: "No MCP servers configured." }), _jsxs(Text, { children: ["Please view MCP documentation in your browser:", ' ', _jsx(Text, { color: theme.text.link, children: "https://goo.gle/gemini-cli-docs-mcp" }), ' ', "or use the cli /docs command"] })] }));
9
+ }
10
+ return (_jsxs(Box, { flexDirection: "column", children: [discoveryInProgress && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { color: theme.status.warning, children: ["\u23F3 MCP servers are starting up (", connectingServers.length, ' ', "initializing)..."] }), _jsx(Text, { color: theme.text.primary, children: "Note: First startup may take longer. Tool availability will update automatically." })] })), _jsx(Text, { bold: true, children: "Configured MCP servers:" }), _jsx(Box, { height: 1 }), serverNames.map((serverName) => {
11
+ const server = servers[serverName];
12
+ const serverTools = tools.filter((tool) => tool.serverName === serverName);
13
+ const serverPrompts = prompts.filter((prompt) => prompt.serverName === serverName);
14
+ const originalStatus = serverStatus(serverName);
15
+ const hasCachedItems = serverTools.length > 0 || serverPrompts.length > 0;
16
+ const status = originalStatus === MCPServerStatus.DISCONNECTED && hasCachedItems
17
+ ? MCPServerStatus.CONNECTED
18
+ : originalStatus;
19
+ let statusIndicator = '';
20
+ let statusText = '';
21
+ let statusColor = theme.text.primary;
22
+ switch (status) {
23
+ case MCPServerStatus.CONNECTED:
24
+ statusIndicator = '🟢';
25
+ statusText = 'Ready';
26
+ statusColor = theme.status.success;
27
+ break;
28
+ case MCPServerStatus.CONNECTING:
29
+ statusIndicator = '🔄';
30
+ statusText = 'Starting... (first startup may take longer)';
31
+ statusColor = theme.status.warning;
32
+ break;
33
+ case MCPServerStatus.DISCONNECTED:
34
+ default:
35
+ statusIndicator = '🔴';
36
+ statusText = 'Disconnected';
37
+ statusColor = theme.status.error;
38
+ break;
39
+ }
40
+ let serverDisplayName = serverName;
41
+ if (server.extensionName) {
42
+ serverDisplayName += ` (from ${server.extensionName})`;
43
+ }
44
+ const toolCount = serverTools.length;
45
+ const promptCount = serverPrompts.length;
46
+ const parts = [];
47
+ if (toolCount > 0) {
48
+ parts.push(`${toolCount} ${toolCount === 1 ? 'tool' : 'tools'}`);
49
+ }
50
+ if (promptCount > 0) {
51
+ parts.push(`${promptCount} ${promptCount === 1 ? 'prompt' : 'prompts'}`);
52
+ }
53
+ const serverAuthStatus = authStatus[serverName];
54
+ let authStatusNode = null;
55
+ if (serverAuthStatus === 'authenticated') {
56
+ authStatusNode = _jsx(Text, { children: " (OAuth)" });
57
+ }
58
+ else if (serverAuthStatus === 'expired') {
59
+ authStatusNode = (_jsx(Text, { color: theme.status.error, children: " (OAuth expired)" }));
60
+ }
61
+ else if (serverAuthStatus === 'unauthenticated') {
62
+ authStatusNode = (_jsx(Text, { color: theme.status.warning, children: " (OAuth not authenticated)" }));
63
+ }
64
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: statusColor, children: [statusIndicator, " "] }), _jsx(Text, { bold: true, children: serverDisplayName }), _jsxs(Text, { children: [' - ', statusText, status === MCPServerStatus.CONNECTED &&
65
+ parts.length > 0 &&
66
+ ` (${parts.join(', ')})`] }), authStatusNode] }), status === MCPServerStatus.CONNECTING && (_jsx(Text, { children: " (tools and prompts will appear when ready)" })), status === MCPServerStatus.DISCONNECTED && toolCount > 0 && (_jsxs(Text, { children: [" (", toolCount, " tools cached)"] })), showDescriptions && server?.description && (_jsx(Text, { color: theme.text.secondary, children: server.description.trim() })), serverTools.length > 0 && (_jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [_jsx(Text, { color: theme.text.primary, children: "Tools:" }), serverTools.map((tool) => {
67
+ const schemaContent = showSchema &&
68
+ tool.schema &&
69
+ (tool.schema.parametersJsonSchema || tool.schema.parameters)
70
+ ? JSON.stringify(tool.schema.parametersJsonSchema ??
71
+ tool.schema.parameters, null, 2)
72
+ : null;
73
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: ["- ", _jsx(Text, { color: theme.text.primary, children: tool.name })] }), showDescriptions && tool.description && (_jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: theme.text.secondary, children: tool.description.trim() }) })), schemaContent && (_jsxs(Box, { flexDirection: "column", marginLeft: 4, children: [_jsx(Text, { color: theme.text.secondary, children: "Parameters:" }), _jsx(Text, { color: theme.text.secondary, children: schemaContent })] }))] }, tool.name));
74
+ })] })), serverPrompts.length > 0 && (_jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [_jsx(Text, { color: theme.text.primary, children: "Prompts:" }), serverPrompts.map((prompt) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: ["- ", _jsx(Text, { color: theme.text.primary, children: prompt.name })] }), showDescriptions && prompt.description && (_jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: theme.text.primary, children: prompt.description.trim() }) }))] }, prompt.name)))] }))] }, serverName));
75
+ }), blockedServers.map((server) => (_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: theme.status.error, children: "\uD83D\uDD34 " }), _jsxs(Text, { bold: true, children: [server.name, server.extensionName ? ` (from ${server.extensionName})` : ''] }), _jsx(Text, { children: " - Blocked" })] }, server.name))), showTips && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: theme.text.accent, children: "\uD83D\uDCA1 Tips:" }), _jsxs(Text, { children: [' ', "- Use ", _jsx(Text, { color: theme.text.accent, children: "/mcp desc" }), " to show server and tool descriptions"] }), _jsxs(Text, { children: [' ', "- Use ", _jsx(Text, { color: theme.text.accent, children: "/mcp schema" }), " to show tool parameter schemas"] }), _jsxs(Text, { children: [' ', "- Use ", _jsx(Text, { color: theme.text.accent, children: "/mcp nodesc" }), " to hide descriptions"] }), _jsxs(Text, { children: [' ', "- Use", ' ', _jsx(Text, { color: theme.text.accent, children: "/mcp auth <server-name>" }), ' ', "to authenticate with OAuth-enabled servers"] }), _jsxs(Text, { children: [' ', "- Press ", _jsx(Text, { color: theme.text.accent, children: "Ctrl+T" }), " to toggle tool descriptions on/off"] })] }))] }));
76
+ };
77
+ //# sourceMappingURL=McpStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpStatus.js","sourceRoot":"","sources":["../../../../../src/ui/components/views/McpStatus.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,117 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { render } from 'ink-testing-library';
8
+ import { describe, it, expect, vi } from 'vitest';
9
+ import { McpStatus } from './McpStatus.js';
10
+ import { MCPServerStatus } from '@google/gemini-cli-core';
11
+ import { MessageType } from '../../types.js';
12
+ describe('McpStatus', () => {
13
+ const baseProps = {
14
+ type: MessageType.MCP_STATUS,
15
+ servers: {
16
+ 'server-1': {
17
+ url: 'http://localhost:8080',
18
+ name: 'server-1',
19
+ description: 'A test server',
20
+ },
21
+ },
22
+ tools: [
23
+ {
24
+ serverName: 'server-1',
25
+ name: 'tool-1',
26
+ description: 'A test tool',
27
+ schema: {
28
+ parameters: {
29
+ type: 'object',
30
+ properties: {
31
+ param1: { type: 'string' },
32
+ },
33
+ },
34
+ },
35
+ },
36
+ ],
37
+ prompts: [],
38
+ blockedServers: [],
39
+ serverStatus: () => MCPServerStatus.CONNECTED,
40
+ authStatus: {},
41
+ discoveryInProgress: false,
42
+ connectingServers: [],
43
+ showDescriptions: true,
44
+ showSchema: false,
45
+ showTips: false,
46
+ };
47
+ it('renders correctly with a connected server', () => {
48
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps }));
49
+ expect(lastFrame()).toMatchSnapshot();
50
+ });
51
+ it('renders correctly with authenticated OAuth status', () => {
52
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, authStatus: { 'server-1': 'authenticated' } }));
53
+ expect(lastFrame()).toMatchSnapshot();
54
+ });
55
+ it('renders correctly with expired OAuth status', () => {
56
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, authStatus: { 'server-1': 'expired' } }));
57
+ expect(lastFrame()).toMatchSnapshot();
58
+ });
59
+ it('renders correctly with unauthenticated OAuth status', () => {
60
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, authStatus: { 'server-1': 'unauthenticated' } }));
61
+ expect(lastFrame()).toMatchSnapshot();
62
+ });
63
+ it('renders correctly with a disconnected server', async () => {
64
+ vi.spyOn(await import('@google/gemini-cli-core'), 'getMCPServerStatus').mockReturnValue(MCPServerStatus.DISCONNECTED);
65
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps }));
66
+ expect(lastFrame()).toMatchSnapshot();
67
+ });
68
+ it('renders correctly when discovery is in progress', () => {
69
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, discoveryInProgress: true }));
70
+ expect(lastFrame()).toMatchSnapshot();
71
+ });
72
+ it('renders correctly with schema enabled', () => {
73
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, showSchema: true }));
74
+ expect(lastFrame()).toMatchSnapshot();
75
+ });
76
+ it('renders correctly with parametersJsonSchema', () => {
77
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, tools: [
78
+ {
79
+ serverName: 'server-1',
80
+ name: 'tool-1',
81
+ description: 'A test tool',
82
+ schema: {
83
+ parametersJsonSchema: {
84
+ type: 'object',
85
+ properties: {
86
+ param1: { type: 'string' },
87
+ },
88
+ },
89
+ },
90
+ },
91
+ ], showSchema: true }));
92
+ expect(lastFrame()).toMatchSnapshot();
93
+ });
94
+ it('renders correctly with tips enabled', () => {
95
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, showTips: true }));
96
+ expect(lastFrame()).toMatchSnapshot();
97
+ });
98
+ it('renders correctly with prompts', () => {
99
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, prompts: [
100
+ {
101
+ serverName: 'server-1',
102
+ name: 'prompt-1',
103
+ description: 'A test prompt',
104
+ },
105
+ ] }));
106
+ expect(lastFrame()).toMatchSnapshot();
107
+ });
108
+ it('renders correctly with a blocked server', () => {
109
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, blockedServers: [{ name: 'server-1', extensionName: 'test-extension' }] }));
110
+ expect(lastFrame()).toMatchSnapshot();
111
+ });
112
+ it('renders correctly with a connecting server', () => {
113
+ const { lastFrame } = render(_jsx(McpStatus, { ...baseProps, connectingServers: ['server-1'] }));
114
+ expect(lastFrame()).toMatchSnapshot();
115
+ });
116
+ });
117
+ //# sourceMappingURL=McpStatus.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpStatus.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/views/McpStatus.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type React from 'react';
7
+ import { type ToolDefinition } from '../../types.js';
8
+ interface ToolsListProps {
9
+ tools: readonly ToolDefinition[];
10
+ showDescriptions: boolean;
11
+ terminalWidth: number;
12
+ }
13
+ export declare const ToolsList: React.FC<ToolsListProps>;
14
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { theme } from '../../semantic-colors.js';
4
+ import {} from '../../types.js';
5
+ import { MarkdownDisplay } from '../../utils/MarkdownDisplay.js';
6
+ export const ToolsList = ({ tools, showDescriptions, terminalWidth, }) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, color: theme.text.primary, children: "Available Gemini CLI tools:" }), _jsx(Box, { height: 1 }), tools.length > 0 ? (tools.map((tool) => (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: theme.text.primary, children: [' ', "- "] }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, color: theme.text.accent, children: [tool.displayName, showDescriptions ? ` (${tool.name})` : ''] }), showDescriptions && tool.description && (_jsx(MarkdownDisplay, { terminalWidth: terminalWidth, text: tool.description, isPending: false }))] })] }, tool.name)))) : (_jsx(Text, { color: theme.text.primary, children: " No tools available" }))] }));
7
+ //# sourceMappingURL=ToolsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolsList.js","sourceRoot":"","sources":["../../../../../src/ui/components/views/ToolsList.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAuB,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAQjE,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAClD,KAAK,EACL,gBAAgB,EAChB,aAAa,GACd,EAAE,EAAE,CAAC,CACJ,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,4CAE7B,EACP,KAAC,GAAG,IAAC,MAAM,EAAE,CAAC,GAAI,EACjB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAClB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAClB,MAAC,GAAG,IAAiB,aAAa,EAAC,KAAK,aACtC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,aAAG,IAAI,UAAU,EAChD,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,aAChC,IAAI,CAAC,WAAW,EAChB,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IACrC,EACN,gBAAgB,IAAI,IAAI,CAAC,WAAW,IAAI,CACvC,KAAC,eAAe,IACd,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,SAAS,EAAE,KAAK,GAChB,CACH,IACG,KAdE,IAAI,CAAC,IAAI,CAeb,CACP,CAAC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,oCAA4B,CAC5D,IACG,CACP,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { render } from 'ink-testing-library';
8
+ import { describe, it, expect } from 'vitest';
9
+ import { ToolsList } from './ToolsList.js';
10
+ import {} from '../../types.js';
11
+ const mockTools = [
12
+ {
13
+ name: 'test-tool-one',
14
+ displayName: 'Test Tool One',
15
+ description: 'This is the first test tool.',
16
+ },
17
+ {
18
+ name: 'test-tool-two',
19
+ displayName: 'Test Tool Two',
20
+ description: `This is the second test tool.
21
+ 1. Tool descriptions support markdown formatting.
22
+ 2. **note** use this tool wisely and be sure to consider how this tool interacts with word wrap.
23
+ 3. **important** this tool is awesome.`,
24
+ },
25
+ {
26
+ name: 'test-tool-three',
27
+ displayName: 'Test Tool Three',
28
+ description: 'This is the third test tool.',
29
+ },
30
+ ];
31
+ describe('<ToolsList />', () => {
32
+ it('renders correctly with descriptions', () => {
33
+ const { lastFrame } = render(_jsx(ToolsList, { tools: mockTools, showDescriptions: true, terminalWidth: 40 }));
34
+ expect(lastFrame()).toMatchSnapshot();
35
+ });
36
+ it('renders correctly without descriptions', () => {
37
+ const { lastFrame } = render(_jsx(ToolsList, { tools: mockTools, showDescriptions: false, terminalWidth: 40 }));
38
+ expect(lastFrame()).toMatchSnapshot();
39
+ });
40
+ it('renders correctly with no tools', () => {
41
+ const { lastFrame } = render(_jsx(ToolsList, { tools: [], showDescriptions: true, terminalWidth: 40 }));
42
+ expect(lastFrame()).toMatchSnapshot();
43
+ });
44
+ });
45
+ //# sourceMappingURL=ToolsList.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolsList.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/views/ToolsList.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAuB,MAAM,gBAAgB,CAAC;AAErD,MAAM,SAAS,GAAqB;IAClC;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE;;;yCAGwB;KACtC;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,8BAA8B;KAC5C;CACF,CAAC;AAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,SAAS,IACR,KAAK,EAAE,SAAS,EAChB,gBAAgB,EAAE,IAAI,EACtB,aAAa,EAAE,EAAE,GACjB,CACH,CAAC;QACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,SAAS,IACR,KAAK,EAAE,SAAS,EAChB,gBAAgB,EAAE,KAAK,EACvB,aAAa,EAAE,EAAE,GACjB,CACH,CAAC;QACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,GAAI,CACpE,CAAC;QACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -17,6 +17,7 @@ export interface ProQuotaDialogRequest {
17
17
  resolve: (intent: FallbackIntent) => void;
18
18
  }
19
19
  import { type UseHistoryManagerReturn } from '../hooks/useHistoryManager.js';
20
+ import { type RestartReason } from '../hooks/useIdeTrustListener.js';
20
21
  export interface UIState {
21
22
  history: HistoryItem[];
22
23
  historyManager: UseHistoryManagerReturn;
@@ -40,6 +41,7 @@ export interface UIState {
40
41
  commandContext: CommandContext;
41
42
  shellConfirmationRequest: ShellConfirmationRequest | null;
42
43
  confirmationRequest: ConfirmationRequest | null;
44
+ confirmUpdateExtensionRequests: ConfirmationRequest[];
43
45
  loopDetectionConfirmationRequest: LoopDetectionConfirmationRequest | null;
44
46
  geminiMdFileCount: number;
45
47
  streamingState: StreamingState;
@@ -90,6 +92,7 @@ export interface UIState {
90
92
  currentIDE: IdeInfo | null;
91
93
  updateInfo: UpdateObject | null;
92
94
  showIdeRestartPrompt: boolean;
95
+ ideTrustRestartReason: RestartReason;
93
96
  isRestarting: boolean;
94
97
  extensionsUpdateState: Map<string, ExtensionUpdateState>;
95
98
  activePtyId: number | undefined;
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { createContext, useContext } from 'react';
7
7
  import {} from '../hooks/useHistoryManager.js';
8
+ import {} from '../hooks/useIdeTrustListener.js';
8
9
  export const UIStateContext = createContext(null);
9
10
  export const useUIState = () => {
10
11
  const context = useContext(UIStateContext);
@@ -1 +1 @@
1
- {"version":3,"file":"UIStateContext.js","sourceRoot":"","sources":["../../../../src/ui/contexts/UIStateContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA+BlD,OAAO,EAAgC,MAAM,+BAA+B,CAAC;AAmF7E,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAiB,IAAI,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"UIStateContext.js","sourceRoot":"","sources":["../../../../src/ui/contexts/UIStateContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA+BlD,OAAO,EAAgC,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAsB,MAAM,iCAAiC,CAAC;AAqFrE,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAiB,IAAI,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -8,7 +8,7 @@ import { type PartListUnion } from '@google/genai';
8
8
  import type { UseHistoryManagerReturn } from './useHistoryManager.js';
9
9
  import type { Config } from '@google/gemini-cli-core';
10
10
  import { ToolConfirmationOutcome } from '@google/gemini-cli-core';
11
- import type { HistoryItemWithoutId, SlashCommandProcessorResult, HistoryItem } from '../types.js';
11
+ import type { HistoryItemWithoutId, SlashCommandProcessorResult, HistoryItem, ConfirmationRequest } from '../types.js';
12
12
  import type { LoadedSettings } from '../../config/settings.js';
13
13
  import { type CommandContext, type SlashCommand } from '../commands/types.js';
14
14
  import type { ExtensionUpdateState } from '../state/extensions.js';
@@ -24,6 +24,7 @@ interface SlashCommandProcessorActions {
24
24
  setDebugMessage: (message: string) => void;
25
25
  toggleCorgiMode: () => void;
26
26
  setExtensionsUpdateState: Dispatch<SetStateAction<Map<string, ExtensionUpdateState>>>;
27
+ addConfirmUpdateExtensionRequest: (request: ConfirmationRequest) => void;
27
28
  }
28
29
  /**
29
30
  * Hook to define and process slash commands (e.g., /help, /clear).
@@ -129,6 +129,7 @@ export const useSlashCommandProcessor = (config, settings, addItem, clearItems,
129
129
  reloadCommands,
130
130
  extensionsUpdateState,
131
131
  setExtensionsUpdateState: actions.setExtensionsUpdateState,
132
+ addConfirmUpdateExtensionRequest: actions.addConfirmUpdateExtensionRequest,
132
133
  },
133
134
  session: {
134
135
  stats: session.stats,
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashCommandProcessor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,13 @@
6
6
  import type { GeminiCLIExtension } from '@google/gemini-cli-core';
7
7
  import { ExtensionUpdateState } from '../state/extensions.js';
8
8
  import type { UseHistoryManagerReturn } from './useHistoryManager.js';
9
+ import { type ConfirmationRequest } from '../types.js';
9
10
  export declare const useExtensionUpdates: (extensions: GeminiCLIExtension[], addItem: UseHistoryManagerReturn["addItem"], cwd: string) => {
10
11
  extensionsUpdateState: Map<string, ExtensionUpdateState>;
11
12
  setExtensionsUpdateState: import("react").Dispatch<import("react").SetStateAction<Map<string, ExtensionUpdateState>>>;
13
+ confirmUpdateExtensionRequests: {
14
+ prompt: React.ReactNode;
15
+ onConfirm: (confirmed: boolean) => void;
16
+ }[];
17
+ addConfirmUpdateExtensionRequest: (original: ConfirmationRequest) => void;
12
18
  };
@@ -5,13 +5,25 @@
5
5
  */
6
6
  import { getErrorMessage } from '../../utils/errors.js';
7
7
  import { ExtensionUpdateState } from '../state/extensions.js';
8
- import { useState } from 'react';
8
+ import { useCallback, useState } from 'react';
9
9
  import { MessageType } from '../types.js';
10
10
  import { checkForAllExtensionUpdates, updateExtension, } from '../../config/extensions/update.js';
11
11
  import { requestConsentInteractive } from '../../config/extension.js';
12
12
  export const useExtensionUpdates = (extensions, addItem, cwd) => {
13
13
  const [extensionsUpdateState, setExtensionsUpdateState] = useState(new Map());
14
14
  const [isChecking, setIsChecking] = useState(false);
15
+ const [confirmUpdateExtensionRequests, setConfirmUpdateExtensionRequests] = useState([]);
16
+ const addConfirmUpdateExtensionRequest = useCallback((original) => {
17
+ const wrappedRequest = {
18
+ prompt: original.prompt,
19
+ onConfirm: (confirmed) => {
20
+ // Remove it from the outstanding list of requests by identity.
21
+ setConfirmUpdateExtensionRequests((prev) => prev.filter((r) => r !== wrappedRequest));
22
+ original.onConfirm(confirmed);
23
+ },
24
+ };
25
+ setConfirmUpdateExtensionRequests((prev) => [...prev, wrappedRequest]);
26
+ }, [setConfirmUpdateExtensionRequests]);
15
27
  (async () => {
16
28
  if (isChecking)
17
29
  return;
@@ -27,7 +39,7 @@ export const useExtensionUpdates = (extensions, addItem, cwd) => {
27
39
  continue;
28
40
  }
29
41
  if (extension.installMetadata?.autoUpdate) {
30
- updateExtension(extension, cwd, (description) => requestConsentInteractive(description, addItem), currentState, (newState) => {
42
+ updateExtension(extension, cwd, (description) => requestConsentInteractive(description, addConfirmUpdateExtensionRequest), currentState, (newState) => {
31
43
  setExtensionsUpdateState((prev) => {
32
44
  const finalState = new Map(prev);
33
45
  finalState.set(extension.name, newState);
@@ -43,7 +55,10 @@ export const useExtensionUpdates = (extensions, addItem, cwd) => {
43
55
  }, Date.now());
44
56
  })
45
57
  .catch((error) => {
46
- console.error(`Error updating extension "${extension.name}": ${getErrorMessage(error)}.`);
58
+ addItem({
59
+ type: MessageType.ERROR,
60
+ text: getErrorMessage(error),
61
+ }, Date.now());
47
62
  });
48
63
  }
49
64
  else {
@@ -65,6 +80,8 @@ export const useExtensionUpdates = (extensions, addItem, cwd) => {
65
80
  return {
66
81
  extensionsUpdateState,
67
82
  setExtensionsUpdateState,
83
+ confirmUpdateExtensionRequests,
84
+ addConfirmUpdateExtensionRequest,
68
85
  };
69
86
  };
70
87
  //# sourceMappingURL=useExtensionUpdates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useExtensionUpdates.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useExtensionUpdates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useExtensionUpdates.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useExtensionUpdates.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,14 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ export type RestartReason = 'NONE' | 'CONNECTION_CHANGE' | 'TRUST_CHANGE';
6
7
  /**
7
8
  * This hook listens for trust status updates from the IDE companion extension.
8
- * It provides the current trust status from the IDE and a flag indicating
9
- * if a restart is needed because the trust state has changed.
9
+ * It provides the current trust status from the IDE and a reason if a restart
10
+ * is needed because the trust state has changed.
10
11
  */
11
12
  export declare function useIdeTrustListener(): {
12
13
  isIdeTrusted: boolean | undefined;
13
14
  needsRestart: boolean;
15
+ restartReason: RestartReason;
14
16
  };