@google/gemini-cli 0.0.4 → 0.0.77

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 (113) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/commands/extensions/install.js +1 -1
  3. package/dist/src/commands/extensions/install.js.map +1 -1
  4. package/dist/src/commands/extensions/link.js +1 -1
  5. package/dist/src/commands/extensions/link.js.map +1 -1
  6. package/dist/src/commands/extensions/uninstall.js +1 -1
  7. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  8. package/dist/src/config/config.js +1 -4
  9. package/dist/src/config/config.js.map +1 -1
  10. package/dist/src/config/extension.d.ts +8 -2
  11. package/dist/src/config/extension.js +87 -43
  12. package/dist/src/config/extension.js.map +1 -1
  13. package/dist/src/config/settings.js +1 -1
  14. package/dist/src/config/settings.js.map +1 -1
  15. package/dist/src/config/settingsSchema.d.ts +9 -9
  16. package/dist/src/config/settingsSchema.js +9 -9
  17. package/dist/src/config/settingsSchema.js.map +1 -1
  18. package/dist/src/gemini.js +1 -2
  19. package/dist/src/gemini.js.map +1 -1
  20. package/dist/src/generated/git-commit.d.ts +2 -2
  21. package/dist/src/generated/git-commit.js +2 -2
  22. package/dist/src/generated/git-commit.js.map +1 -1
  23. package/dist/src/ui/AppContainer.js +4 -10
  24. package/dist/src/ui/AppContainer.js.map +1 -1
  25. package/dist/src/ui/IdeIntegrationNudge.d.ts +2 -2
  26. package/dist/src/ui/IdeIntegrationNudge.js +2 -1
  27. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
  28. package/dist/src/ui/commands/clearCommand.js +1 -1
  29. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  30. package/dist/src/ui/commands/ideCommand.js +1 -1
  31. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  32. package/dist/src/ui/commands/mcpCommand.js +2 -9
  33. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  34. package/dist/src/ui/components/Composer.js +10 -9
  35. package/dist/src/ui/components/Composer.js.map +1 -1
  36. package/dist/src/ui/components/Composer.test.js +21 -18
  37. package/dist/src/ui/components/Composer.test.js.map +1 -1
  38. package/dist/src/ui/components/HistoryItemDisplay.js +1 -2
  39. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  40. package/dist/src/ui/components/InputPrompt.d.ts +0 -6
  41. package/dist/src/ui/components/InputPrompt.js +14 -42
  42. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  43. package/dist/src/ui/components/SettingsDialog.test.js +4 -4
  44. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  45. package/dist/src/ui/components/messages/ToolGroupMessage.js +5 -7
  46. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  47. package/dist/src/ui/components/messages/ToolMessage.js +4 -11
  48. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  49. package/dist/src/ui/components/shared/text-buffer.d.ts +0 -6
  50. package/dist/src/ui/components/shared/text-buffer.js +4 -71
  51. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  52. package/dist/src/ui/constants.d.ts +0 -1
  53. package/dist/src/ui/constants.js +0 -1
  54. package/dist/src/ui/constants.js.map +1 -1
  55. package/dist/src/ui/contexts/SessionContext.d.ts +0 -6
  56. package/dist/src/ui/contexts/SessionContext.js +5 -107
  57. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  58. package/dist/src/ui/contexts/UIStateContext.d.ts +3 -2
  59. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  60. package/dist/src/ui/hooks/shellCommandProcessor.js +5 -7
  61. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  62. package/dist/src/ui/hooks/shellCommandProcessor.test.js +1 -1
  63. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  64. package/dist/src/ui/hooks/useGeminiStream.js +5 -2
  65. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  66. package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
  67. package/dist/src/ui/hooks/useStateAndRef.js +2 -2
  68. package/dist/src/ui/hooks/useStateAndRef.js.map +1 -1
  69. package/dist/src/ui/types.d.ts +1 -6
  70. package/dist/src/ui/types.js +0 -1
  71. package/dist/src/ui/types.js.map +1 -1
  72. package/dist/src/ui/utils/highlight.d.ts +0 -1
  73. package/dist/src/ui/utils/highlight.js +0 -28
  74. package/dist/src/ui/utils/highlight.js.map +1 -1
  75. package/dist/src/utils/events.d.ts +1 -2
  76. package/dist/src/utils/events.js +0 -1
  77. package/dist/src/utils/events.js.map +1 -1
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/npm-shrinkwrap.json +7 -22
  80. package/package.json +3 -3
  81. package/dist/src/config/extensions/github.d.ts +0 -25
  82. package/dist/src/config/extensions/github.js +0 -258
  83. package/dist/src/config/extensions/github.js.map +0 -1
  84. package/dist/src/config/extensions/github.test.d.ts +0 -6
  85. package/dist/src/config/extensions/github.test.js +0 -232
  86. package/dist/src/config/extensions/github.test.js.map +0 -1
  87. package/dist/src/config/policy-engine.integration.test.d.ts +0 -6
  88. package/dist/src/config/policy-engine.integration.test.js +0 -270
  89. package/dist/src/config/policy-engine.integration.test.js.map +0 -1
  90. package/dist/src/config/policy.d.ts +0 -8
  91. package/dist/src/config/policy.js +0 -150
  92. package/dist/src/config/policy.js.map +0 -1
  93. package/dist/src/config/policy.test.d.ts +0 -6
  94. package/dist/src/config/policy.test.js +0 -336
  95. package/dist/src/config/policy.test.js.map +0 -1
  96. package/dist/src/ui/components/QueuedMessageDisplay.d.ts +0 -9
  97. package/dist/src/ui/components/QueuedMessageDisplay.js +0 -20
  98. package/dist/src/ui/components/QueuedMessageDisplay.js.map +0 -1
  99. package/dist/src/ui/components/QueuedMessageDisplay.test.d.ts +0 -6
  100. package/dist/src/ui/components/QueuedMessageDisplay.test.js +0 -56
  101. package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +0 -1
  102. package/dist/src/ui/components/messages/WarningMessage.d.ts +0 -11
  103. package/dist/src/ui/components/messages/WarningMessage.js +0 -10
  104. package/dist/src/ui/components/messages/WarningMessage.js.map +0 -1
  105. package/dist/src/ui/contexts/FocusContext.d.ts +0 -7
  106. package/dist/src/ui/contexts/FocusContext.js +0 -9
  107. package/dist/src/ui/contexts/FocusContext.js.map +0 -1
  108. package/dist/src/ui/hooks/useMemoryMonitor.d.ts +0 -13
  109. package/dist/src/ui/hooks/useMemoryMonitor.js +0 -28
  110. package/dist/src/ui/hooks/useMemoryMonitor.js.map +0 -1
  111. package/dist/src/ui/hooks/useMemoryMonitor.test.d.ts +0 -6
  112. package/dist/src/ui/hooks/useMemoryMonitor.test.js +0 -57
  113. package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +0 -1
@@ -1,336 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { describe, it, expect } from 'vitest';
7
- import { createPolicyEngineConfig } from './policy.js';
8
- import { ApprovalMode, PolicyDecision } from '@google/gemini-cli-core';
9
- describe('createPolicyEngineConfig', () => {
10
- it('should return ASK_USER for all tools by default', () => {
11
- const settings = {};
12
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
13
- expect(config.defaultDecision).toBe(PolicyDecision.ASK_USER);
14
- expect(config.rules).toEqual([
15
- { toolName: 'replace', decision: 'ask_user', priority: 10 },
16
- { toolName: 'save_memory', decision: 'ask_user', priority: 10 },
17
- { toolName: 'run_shell_command', decision: 'ask_user', priority: 10 },
18
- { toolName: 'write_file', decision: 'ask_user', priority: 10 },
19
- { toolName: 'web_fetch', decision: 'ask_user', priority: 10 },
20
- ]);
21
- });
22
- it('should allow tools in tools.allowed', () => {
23
- const settings = {
24
- tools: { allowed: ['run_shell_command'] },
25
- };
26
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
27
- const rule = config.rules?.find((r) => r.toolName === 'run_shell_command' &&
28
- r.decision === PolicyDecision.ALLOW);
29
- expect(rule).toBeDefined();
30
- expect(rule?.priority).toBe(100);
31
- });
32
- it('should deny tools in tools.exclude', () => {
33
- const settings = {
34
- tools: { exclude: ['run_shell_command'] },
35
- };
36
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
37
- const rule = config.rules?.find((r) => r.toolName === 'run_shell_command' &&
38
- r.decision === PolicyDecision.DENY);
39
- expect(rule).toBeDefined();
40
- expect(rule?.priority).toBe(200);
41
- });
42
- it('should allow tools from allowed MCP servers', () => {
43
- const settings = {
44
- mcp: { allowed: ['my-server'] },
45
- };
46
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
47
- const rule = config.rules?.find((r) => r.toolName === 'my-server__*' && r.decision === PolicyDecision.ALLOW);
48
- expect(rule).toBeDefined();
49
- expect(rule?.priority).toBe(85);
50
- });
51
- it('should deny tools from excluded MCP servers', () => {
52
- const settings = {
53
- mcp: { excluded: ['my-server'] },
54
- };
55
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
56
- const rule = config.rules?.find((r) => r.toolName === 'my-server__*' && r.decision === PolicyDecision.DENY);
57
- expect(rule).toBeDefined();
58
- expect(rule?.priority).toBe(195);
59
- });
60
- it('should allow tools from trusted MCP servers', () => {
61
- const settings = {
62
- mcpServers: {
63
- 'trusted-server': {
64
- command: 'node',
65
- args: ['server.js'],
66
- trust: true,
67
- },
68
- 'untrusted-server': {
69
- command: 'node',
70
- args: ['server.js'],
71
- trust: false,
72
- },
73
- },
74
- };
75
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
76
- const trustedRule = config.rules?.find((r) => r.toolName === 'trusted-server__*' &&
77
- r.decision === PolicyDecision.ALLOW);
78
- expect(trustedRule).toBeDefined();
79
- expect(trustedRule?.priority).toBe(90);
80
- // Untrusted server should not have an allow rule
81
- const untrustedRule = config.rules?.find((r) => r.toolName === 'untrusted-server__*' &&
82
- r.decision === PolicyDecision.ALLOW);
83
- expect(untrustedRule).toBeUndefined();
84
- });
85
- it('should handle multiple MCP server configurations together', () => {
86
- const settings = {
87
- mcp: {
88
- allowed: ['allowed-server'],
89
- excluded: ['excluded-server'],
90
- },
91
- mcpServers: {
92
- 'trusted-server': {
93
- command: 'node',
94
- args: ['server.js'],
95
- trust: true,
96
- },
97
- },
98
- };
99
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
100
- // Check allowed server
101
- const allowedRule = config.rules?.find((r) => r.toolName === 'allowed-server__*' &&
102
- r.decision === PolicyDecision.ALLOW);
103
- expect(allowedRule).toBeDefined();
104
- expect(allowedRule?.priority).toBe(85);
105
- // Check trusted server
106
- const trustedRule = config.rules?.find((r) => r.toolName === 'trusted-server__*' &&
107
- r.decision === PolicyDecision.ALLOW);
108
- expect(trustedRule).toBeDefined();
109
- expect(trustedRule?.priority).toBe(90);
110
- // Check excluded server
111
- const excludedRule = config.rules?.find((r) => r.toolName === 'excluded-server__*' &&
112
- r.decision === PolicyDecision.DENY);
113
- expect(excludedRule).toBeDefined();
114
- expect(excludedRule?.priority).toBe(195);
115
- });
116
- it('should allow read-only tools if autoAccept is true', () => {
117
- const settings = {
118
- tools: { autoAccept: true },
119
- };
120
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
121
- const rule = config.rules?.find((r) => r.toolName === 'glob' && r.decision === PolicyDecision.ALLOW);
122
- expect(rule).toBeDefined();
123
- expect(rule?.priority).toBe(50);
124
- });
125
- it('should allow all tools in YOLO mode', () => {
126
- const settings = {};
127
- const config = createPolicyEngineConfig(settings, ApprovalMode.YOLO);
128
- const rule = config.rules?.find((r) => r.decision === PolicyDecision.ALLOW && r.priority === 0);
129
- expect(rule).toBeDefined();
130
- });
131
- it('should allow edit tool in AUTO_EDIT mode', () => {
132
- const settings = {};
133
- const config = createPolicyEngineConfig(settings, ApprovalMode.AUTO_EDIT);
134
- const rule = config.rules?.find((r) => r.toolName === 'replace' && r.decision === PolicyDecision.ALLOW);
135
- expect(rule).toBeDefined();
136
- expect(rule?.priority).toBe(15);
137
- });
138
- it('should prioritize exclude over allow', () => {
139
- const settings = {
140
- tools: { allowed: ['run_shell_command'], exclude: ['run_shell_command'] },
141
- };
142
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
143
- const denyRule = config.rules?.find((r) => r.toolName === 'run_shell_command' &&
144
- r.decision === PolicyDecision.DENY);
145
- const allowRule = config.rules?.find((r) => r.toolName === 'run_shell_command' &&
146
- r.decision === PolicyDecision.ALLOW);
147
- expect(denyRule).toBeDefined();
148
- expect(allowRule).toBeDefined();
149
- expect(denyRule.priority).toBeGreaterThan(allowRule.priority);
150
- });
151
- it('should prioritize specific tool allows over MCP server excludes', () => {
152
- const settings = {
153
- mcp: { excluded: ['my-server'] },
154
- tools: { allowed: ['my-server__specific-tool'] },
155
- };
156
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
157
- const serverDenyRule = config.rules?.find((r) => r.toolName === 'my-server__*' && r.decision === PolicyDecision.DENY);
158
- const toolAllowRule = config.rules?.find((r) => r.toolName === 'my-server__specific-tool' &&
159
- r.decision === PolicyDecision.ALLOW);
160
- expect(serverDenyRule).toBeDefined();
161
- expect(serverDenyRule?.priority).toBe(195);
162
- expect(toolAllowRule).toBeDefined();
163
- expect(toolAllowRule?.priority).toBe(100);
164
- // Tool allow (100) has lower priority than server deny (195),
165
- // so server deny wins - this might be counterintuitive
166
- });
167
- it('should prioritize specific tool excludes over MCP server allows', () => {
168
- const settings = {
169
- mcp: { allowed: ['my-server'] },
170
- mcpServers: {
171
- 'my-server': {
172
- command: 'node',
173
- args: ['server.js'],
174
- trust: true,
175
- },
176
- },
177
- tools: { exclude: ['my-server__dangerous-tool'] },
178
- };
179
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
180
- const serverAllowRule = config.rules?.find((r) => r.toolName === 'my-server__*' && r.decision === PolicyDecision.ALLOW);
181
- const toolDenyRule = config.rules?.find((r) => r.toolName === 'my-server__dangerous-tool' &&
182
- r.decision === PolicyDecision.DENY);
183
- expect(serverAllowRule).toBeDefined();
184
- expect(toolDenyRule).toBeDefined();
185
- expect(toolDenyRule.priority).toBeGreaterThan(serverAllowRule.priority);
186
- });
187
- it('should handle complex priority scenarios correctly', () => {
188
- const settings = {
189
- tools: {
190
- autoAccept: true, // Priority 50 for read-only tools
191
- allowed: ['my-server__tool1', 'other-tool'], // Priority 100
192
- exclude: ['my-server__tool2', 'glob'], // Priority 200
193
- },
194
- mcp: {
195
- allowed: ['allowed-server'], // Priority 85
196
- excluded: ['excluded-server'], // Priority 195
197
- },
198
- mcpServers: {
199
- 'trusted-server': {
200
- command: 'node',
201
- args: ['server.js'],
202
- trust: true, // Priority 90
203
- },
204
- },
205
- };
206
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
207
- // Verify glob is denied even though autoAccept would allow it
208
- const globDenyRule = config.rules?.find((r) => r.toolName === 'glob' && r.decision === PolicyDecision.DENY);
209
- const globAllowRule = config.rules?.find((r) => r.toolName === 'glob' && r.decision === PolicyDecision.ALLOW);
210
- expect(globDenyRule).toBeDefined();
211
- expect(globAllowRule).toBeDefined();
212
- expect(globDenyRule.priority).toBe(200);
213
- expect(globAllowRule.priority).toBe(50);
214
- // Verify all priority levels are correct
215
- const priorities = config.rules
216
- ?.map((r) => ({
217
- tool: r.toolName,
218
- decision: r.decision,
219
- priority: r.priority,
220
- }))
221
- .sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
222
- // Check that the highest priority items are the excludes
223
- const highestPriorityExcludes = priorities?.filter((p) => p.priority === 200);
224
- expect(highestPriorityExcludes?.every((p) => p.decision === PolicyDecision.DENY)).toBe(true);
225
- });
226
- it('should handle MCP servers with undefined trust property', () => {
227
- const settings = {
228
- mcpServers: {
229
- 'no-trust-property': {
230
- command: 'node',
231
- args: ['server.js'],
232
- // trust property is undefined/missing
233
- },
234
- 'explicit-false': {
235
- command: 'node',
236
- args: ['server.js'],
237
- trust: false,
238
- },
239
- },
240
- };
241
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
242
- // Neither server should have an allow rule
243
- const noTrustRule = config.rules?.find((r) => r.toolName === 'no-trust-property__*' &&
244
- r.decision === PolicyDecision.ALLOW);
245
- const explicitFalseRule = config.rules?.find((r) => r.toolName === 'explicit-false__*' &&
246
- r.decision === PolicyDecision.ALLOW);
247
- expect(noTrustRule).toBeUndefined();
248
- expect(explicitFalseRule).toBeUndefined();
249
- });
250
- it('should not add write tool rules in YOLO mode', () => {
251
- const settings = {
252
- tools: { exclude: ['dangerous-tool'] },
253
- };
254
- const config = createPolicyEngineConfig(settings, ApprovalMode.YOLO);
255
- // Should have the wildcard allow rule with priority 0
256
- const wildcardRule = config.rules?.find((r) => !r.toolName && r.decision === PolicyDecision.ALLOW && r.priority === 0);
257
- expect(wildcardRule).toBeDefined();
258
- // Should NOT have any write tool rules (which would have priority 10)
259
- const writeToolRules = config.rules?.filter((r) => [
260
- 'replace',
261
- 'save_memory',
262
- 'run_shell_command',
263
- 'write_file',
264
- 'web_fetch',
265
- ].includes(r.toolName || '') && r.decision === PolicyDecision.ASK_USER);
266
- expect(writeToolRules).toHaveLength(0);
267
- // Should still have the exclude rule
268
- const excludeRule = config.rules?.find((r) => r.toolName === 'dangerous-tool' && r.decision === PolicyDecision.DENY);
269
- expect(excludeRule).toBeDefined();
270
- expect(excludeRule?.priority).toBe(200);
271
- });
272
- it('should handle combination of trusted server and excluded server for same name', () => {
273
- const settings = {
274
- mcpServers: {
275
- 'conflicted-server': {
276
- command: 'node',
277
- args: ['server.js'],
278
- trust: true, // Priority 90
279
- },
280
- },
281
- mcp: {
282
- excluded: ['conflicted-server'], // Priority 195
283
- },
284
- };
285
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
286
- // Both rules should exist
287
- const trustRule = config.rules?.find((r) => r.toolName === 'conflicted-server__*' &&
288
- r.decision === PolicyDecision.ALLOW);
289
- const excludeRule = config.rules?.find((r) => r.toolName === 'conflicted-server__*' &&
290
- r.decision === PolicyDecision.DENY);
291
- expect(trustRule).toBeDefined();
292
- expect(trustRule?.priority).toBe(90);
293
- expect(excludeRule).toBeDefined();
294
- expect(excludeRule?.priority).toBe(195);
295
- // Exclude (195) should win over trust (90) when evaluated
296
- });
297
- it('should create all read-only tool rules when autoAccept is enabled', () => {
298
- const settings = {
299
- tools: { autoAccept: true },
300
- };
301
- const config = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
302
- // All read-only tools should have allow rules
303
- const readOnlyTools = [
304
- 'glob',
305
- 'search_file_content',
306
- 'list_directory',
307
- 'read_file',
308
- 'read_many_files',
309
- ];
310
- for (const tool of readOnlyTools) {
311
- const rule = config.rules?.find((r) => r.toolName === tool && r.decision === PolicyDecision.ALLOW);
312
- expect(rule).toBeDefined();
313
- expect(rule?.priority).toBe(50);
314
- }
315
- });
316
- it('should handle all approval modes correctly', () => {
317
- const settings = {};
318
- // Test DEFAULT mode
319
- const defaultConfig = createPolicyEngineConfig(settings, ApprovalMode.DEFAULT);
320
- expect(defaultConfig.defaultDecision).toBe(PolicyDecision.ASK_USER);
321
- expect(defaultConfig.rules?.find((r) => !r.toolName && r.decision === PolicyDecision.ALLOW)).toBeUndefined();
322
- // Test YOLO mode
323
- const yoloConfig = createPolicyEngineConfig(settings, ApprovalMode.YOLO);
324
- expect(yoloConfig.defaultDecision).toBe(PolicyDecision.ASK_USER);
325
- const yoloWildcard = yoloConfig.rules?.find((r) => !r.toolName && r.decision === PolicyDecision.ALLOW);
326
- expect(yoloWildcard).toBeDefined();
327
- expect(yoloWildcard?.priority).toBe(0);
328
- // Test AUTO_EDIT mode
329
- const autoEditConfig = createPolicyEngineConfig(settings, ApprovalMode.AUTO_EDIT);
330
- expect(autoEditConfig.defaultDecision).toBe(PolicyDecision.ASK_USER);
331
- const editRule = autoEditConfig.rules?.find((r) => r.toolName === 'replace' && r.decision === PolicyDecision.ALLOW);
332
- expect(editRule).toBeDefined();
333
- expect(editRule?.priority).toBe(15);
334
- });
335
- });
336
- //# sourceMappingURL=policy.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.test.js","sourceRoot":"","sources":["../../../src/config/policy.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export interface QueuedMessageDisplayProps {
7
- messageQueue: string[];
8
- }
9
- export declare const QueuedMessageDisplay: ({ messageQueue, }: QueuedMessageDisplayProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * @license
4
- * Copyright 2025 Google LLC
5
- * SPDX-License-Identifier: Apache-2.0
6
- */
7
- import { Box, Text } from 'ink';
8
- const MAX_DISPLAYED_QUEUED_MESSAGES = 3;
9
- export const QueuedMessageDisplay = ({ messageQueue, }) => {
10
- if (messageQueue.length === 0) {
11
- return null;
12
- }
13
- return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [messageQueue
14
- .slice(0, MAX_DISPLAYED_QUEUED_MESSAGES)
15
- .map((message, index) => {
16
- const preview = message.replace(/\s+/g, ' ');
17
- return (_jsx(Box, { paddingLeft: 2, width: "100%", children: _jsx(Text, { dimColor: true, wrap: "truncate", children: preview }) }, index));
18
- }), messageQueue.length > MAX_DISPLAYED_QUEUED_MESSAGES && (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["... (+", messageQueue.length - MAX_DISPLAYED_QUEUED_MESSAGES, " more)"] }) }))] }));
19
- };
20
- //# sourceMappingURL=QueuedMessageDisplay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueuedMessageDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/QueuedMessageDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAMxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,YAAY,GACc,EAAE,EAAE;IAC9B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACrC,YAAY;iBACV,KAAK,CAAC,CAAC,EAAE,6BAA6B,CAAC;iBACvC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACtB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAE7C,OAAO,CACL,KAAC,GAAG,IAAa,WAAW,EAAE,CAAC,EAAE,KAAK,EAAC,MAAM,YAC3C,KAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,EAAC,UAAU,YAC3B,OAAO,GACH,IAHC,KAAK,CAIT,CACP,CAAC;YACJ,CAAC,CAAC,EACH,YAAY,CAAC,MAAM,GAAG,6BAA6B,IAAI,CACtD,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,YACjB,MAAC,IAAI,IAAC,QAAQ,6BAEX,YAAY,CAAC,MAAM,GAAG,6BAA6B,cAC/C,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};
@@ -1,56 +0,0 @@
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 { describe, it, expect } from 'vitest';
8
- import { render } from 'ink-testing-library';
9
- import { QueuedMessageDisplay } from './QueuedMessageDisplay.js';
10
- describe('QueuedMessageDisplay', () => {
11
- it('renders nothing when message queue is empty', () => {
12
- const { lastFrame } = render(_jsx(QueuedMessageDisplay, { messageQueue: [] }));
13
- expect(lastFrame()).toBe('');
14
- });
15
- it('displays single queued message', () => {
16
- const { lastFrame } = render(_jsx(QueuedMessageDisplay, { messageQueue: ['First message'] }));
17
- const output = lastFrame();
18
- expect(output).toContain('First message');
19
- });
20
- it('displays multiple queued messages', () => {
21
- const messageQueue = [
22
- 'First queued message',
23
- 'Second queued message',
24
- 'Third queued message',
25
- ];
26
- const { lastFrame } = render(_jsx(QueuedMessageDisplay, { messageQueue: messageQueue }));
27
- const output = lastFrame();
28
- expect(output).toContain('First queued message');
29
- expect(output).toContain('Second queued message');
30
- expect(output).toContain('Third queued message');
31
- });
32
- it('shows overflow indicator when more than 3 messages are queued', () => {
33
- const messageQueue = [
34
- 'Message 1',
35
- 'Message 2',
36
- 'Message 3',
37
- 'Message 4',
38
- 'Message 5',
39
- ];
40
- const { lastFrame } = render(_jsx(QueuedMessageDisplay, { messageQueue: messageQueue }));
41
- const output = lastFrame();
42
- expect(output).toContain('Message 1');
43
- expect(output).toContain('Message 2');
44
- expect(output).toContain('Message 3');
45
- expect(output).toContain('... (+2 more)');
46
- expect(output).not.toContain('Message 4');
47
- expect(output).not.toContain('Message 5');
48
- });
49
- it('normalizes whitespace in messages', () => {
50
- const messageQueue = ['Message with\tmultiple\n whitespace'];
51
- const { lastFrame } = render(_jsx(QueuedMessageDisplay, { messageQueue: messageQueue }));
52
- const output = lastFrame();
53
- expect(output).toContain('Message with multiple whitespace');
54
- });
55
- });
56
- //# sourceMappingURL=QueuedMessageDisplay.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueuedMessageDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/components/QueuedMessageDisplay.test.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import type React from 'react';
7
- interface WarningMessageProps {
8
- text: string;
9
- }
10
- export declare const WarningMessage: React.FC<WarningMessageProps>;
11
- export {};
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- import { Colors } from '../../colors.js';
4
- import { RenderInline } from '../../utils/InlineMarkdownRenderer.js';
5
- export const WarningMessage = ({ text }) => {
6
- const prefix = '⚠ ';
7
- const prefixWidth = 3;
8
- return (_jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsx(Box, { width: prefixWidth, children: _jsx(Text, { color: Colors.AccentYellow, children: prefix }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { wrap: "wrap", color: Colors.AccentYellow, children: _jsx(RenderInline, { text: text }) }) })] }));
9
- };
10
- //# sourceMappingURL=WarningMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WarningMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/WarningMessage.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAMrE,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,WAAW,GAAG,CAAC,CAAC;IAEtB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,SAAS,EAAE,CAAC,aACnC,KAAC,GAAG,IAAC,KAAK,EAAE,WAAW,YACrB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,YAAG,MAAM,GAAQ,GAC7C,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,MAAM,CAAC,YAAY,YAC1C,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,GAAI,GACvB,GACH,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare const FocusContext: import("react").Context<boolean>;
7
- export declare const useFocusState: () => boolean;
@@ -1,9 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { createContext, useContext } from 'react';
7
- export const FocusContext = createContext(true);
8
- export const useFocusState = () => useContext(FocusContext);
9
- //# sourceMappingURL=FocusContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FocusContext.js","sourceRoot":"","sources":["../../../../src/ui/contexts/FocusContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAU,IAAI,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { type HistoryItemWithoutId } from '../types.js';
7
- export declare const MEMORY_WARNING_THRESHOLD: number;
8
- export declare const MEMORY_CHECK_INTERVAL: number;
9
- interface MemoryMonitorOptions {
10
- addItem: (item: HistoryItemWithoutId, timestamp: number) => void;
11
- }
12
- export declare const useMemoryMonitor: ({ addItem }: MemoryMonitorOptions) => void;
13
- export {};
@@ -1,28 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { useEffect } from 'react';
7
- import process from 'node:process';
8
- import { MessageType } from '../types.js';
9
- export const MEMORY_WARNING_THRESHOLD = 7 * 1024 * 1024 * 1024; // 7GB in bytes
10
- export const MEMORY_CHECK_INTERVAL = 60 * 1000; // one minute
11
- export const useMemoryMonitor = ({ addItem }) => {
12
- useEffect(() => {
13
- const intervalId = setInterval(() => {
14
- const usage = process.memoryUsage().rss;
15
- if (usage > MEMORY_WARNING_THRESHOLD) {
16
- addItem({
17
- type: MessageType.WARNING,
18
- text: `High memory usage detected: ${(usage /
19
- (1024 * 1024 * 1024)).toFixed(2)} GB. ` +
20
- 'If you experience a crash, please file a bug report by running `/bug`',
21
- }, Date.now());
22
- clearInterval(intervalId);
23
- }
24
- }, MEMORY_CHECK_INTERVAL);
25
- return () => clearInterval(intervalId);
26
- }, [addItem]);
27
- };
28
- //# sourceMappingURL=useMemoryMonitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMemoryMonitor.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useMemoryMonitor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAA6B,WAAW,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,eAAe;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAM7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,EAAwB,EAAE,EAAE;IACpE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;YACxC,IAAI,KAAK,GAAG,wBAAwB,EAAE,CAAC;gBACrC,OAAO,CACL;oBACE,IAAI,EAAE,WAAW,CAAC,OAAO;oBACzB,IAAI,EACF,+BAA+B,CAC7B,KAAK;wBACL,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CACrB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;wBACnB,uEAAuE;iBAC1E,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;gBACF,aAAa,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAE1B,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};
@@ -1,57 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { renderHook } from '@testing-library/react';
7
- import { vi } from 'vitest';
8
- import { useMemoryMonitor, MEMORY_CHECK_INTERVAL, MEMORY_WARNING_THRESHOLD, } from './useMemoryMonitor.js';
9
- import process from 'node:process';
10
- import { MessageType } from '../types.js';
11
- describe('useMemoryMonitor', () => {
12
- const memoryUsageSpy = vi.spyOn(process, 'memoryUsage');
13
- const addItem = vi.fn();
14
- beforeEach(() => {
15
- vi.useFakeTimers();
16
- vi.clearAllMocks();
17
- });
18
- afterEach(() => {
19
- vi.useRealTimers();
20
- });
21
- it('should not warn when memory usage is below threshold', () => {
22
- memoryUsageSpy.mockReturnValue({
23
- rss: MEMORY_WARNING_THRESHOLD / 2,
24
- });
25
- renderHook(() => useMemoryMonitor({ addItem }));
26
- vi.advanceTimersByTime(10000);
27
- expect(addItem).not.toHaveBeenCalled();
28
- });
29
- it('should warn when memory usage is above threshold', () => {
30
- memoryUsageSpy.mockReturnValue({
31
- rss: MEMORY_WARNING_THRESHOLD * 1.5,
32
- });
33
- renderHook(() => useMemoryMonitor({ addItem }));
34
- vi.advanceTimersByTime(MEMORY_CHECK_INTERVAL);
35
- expect(addItem).toHaveBeenCalledTimes(1);
36
- expect(addItem).toHaveBeenCalledWith({
37
- type: MessageType.WARNING,
38
- text: 'High memory usage detected: 10.50 GB. If you experience a crash, please file a bug report by running `/bug`',
39
- }, expect.any(Number));
40
- });
41
- it('should only warn once', () => {
42
- memoryUsageSpy.mockReturnValue({
43
- rss: MEMORY_WARNING_THRESHOLD * 1.5,
44
- });
45
- const { rerender } = renderHook(() => useMemoryMonitor({ addItem }));
46
- vi.advanceTimersByTime(MEMORY_CHECK_INTERVAL);
47
- expect(addItem).toHaveBeenCalledTimes(1);
48
- // Rerender and advance timers, should not warn again
49
- memoryUsageSpy.mockReturnValue({
50
- rss: MEMORY_WARNING_THRESHOLD * 1.5,
51
- });
52
- rerender();
53
- vi.advanceTimersByTime(MEMORY_CHECK_INTERVAL);
54
- expect(addItem).toHaveBeenCalledTimes(1);
55
- });
56
- });
57
- //# sourceMappingURL=useMemoryMonitor.test.js.map