@google/gemini-cli-core 0.10.0-nightly.20251014.a6720d60 → 0.10.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/index.d.ts +0 -2
  2. package/dist/index.js +0 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/generated/git-commit.d.ts +2 -2
  5. package/dist/src/generated/git-commit.js +2 -2
  6. package/dist/src/generated/git-commit.js.map +1 -1
  7. package/dist/src/services/shellExecutionService.js +9 -9
  8. package/dist/src/services/shellExecutionService.js.map +1 -1
  9. package/dist/src/services/shellExecutionService.test.js +11 -16
  10. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  11. package/dist/src/tools/shell.js +10 -8
  12. package/dist/src/tools/shell.js.map +1 -1
  13. package/dist/src/tools/shell.test.js +7 -24
  14. package/dist/src/tools/shell.test.js.map +1 -1
  15. package/dist/src/tools/web-fetch.d.ts +7 -0
  16. package/dist/src/tools/web-fetch.js +39 -10
  17. package/dist/src/tools/web-fetch.js.map +1 -1
  18. package/dist/src/tools/web-fetch.test.js +83 -8
  19. package/dist/src/tools/web-fetch.test.js.map +1 -1
  20. package/dist/src/utils/errorParsing.d.ts +1 -1
  21. package/dist/src/utils/errorParsing.js +33 -5
  22. package/dist/src/utils/errorParsing.js.map +1 -1
  23. package/dist/src/utils/errorParsing.test.js +88 -0
  24. package/dist/src/utils/errorParsing.test.js.map +1 -1
  25. package/dist/src/utils/flashFallback.test.js +45 -26
  26. package/dist/src/utils/flashFallback.test.js.map +1 -1
  27. package/dist/src/utils/quotaErrorDetection.d.ts +2 -0
  28. package/dist/src/utils/quotaErrorDetection.js +46 -0
  29. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  30. package/dist/src/utils/retry.js +146 -29
  31. package/dist/src/utils/retry.js.map +1 -1
  32. package/dist/src/utils/retry.test.js +110 -31
  33. package/dist/src/utils/retry.test.js.map +1 -1
  34. package/dist/src/utils/shell-utils.d.ts +2 -2
  35. package/dist/src/utils/shell-utils.js +136 -275
  36. package/dist/src/utils/shell-utils.js.map +1 -1
  37. package/dist/src/utils/shell-utils.test.js +60 -126
  38. package/dist/src/utils/shell-utils.test.js.map +1 -1
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +3 -5
  41. package/dist/src/utils/googleErrors.d.ts +0 -104
  42. package/dist/src/utils/googleErrors.js +0 -108
  43. package/dist/src/utils/googleErrors.js.map +0 -1
  44. package/dist/src/utils/googleErrors.test.d.ts +0 -6
  45. package/dist/src/utils/googleErrors.test.js +0 -212
  46. package/dist/src/utils/googleErrors.test.js.map +0 -1
  47. package/dist/src/utils/googleQuotaErrors.d.ts +0 -35
  48. package/dist/src/utils/googleQuotaErrors.js +0 -108
  49. package/dist/src/utils/googleQuotaErrors.js.map +0 -1
  50. package/dist/src/utils/googleQuotaErrors.test.d.ts +0 -6
  51. package/dist/src/utils/googleQuotaErrors.test.js +0 -189
  52. package/dist/src/utils/googleQuotaErrors.test.js.map +0 -1
@@ -1,189 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { describe, it, expect, vi, afterEach } from 'vitest';
7
- import { classifyGoogleError, RetryableQuotaError, TerminalQuotaError, } from './googleQuotaErrors.js';
8
- import * as errorParser from './googleErrors.js';
9
- describe('classifyGoogleError', () => {
10
- afterEach(() => {
11
- vi.restoreAllMocks();
12
- });
13
- it('should return original error if not a Google API error', () => {
14
- const regularError = new Error('Something went wrong');
15
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(null);
16
- const result = classifyGoogleError(regularError);
17
- expect(result).toBe(regularError);
18
- });
19
- it('should return original error if code is not 429', () => {
20
- const apiError = {
21
- code: 500,
22
- message: 'Server error',
23
- details: [],
24
- };
25
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(apiError);
26
- const originalError = new Error();
27
- const result = classifyGoogleError(originalError);
28
- expect(result).toBe(originalError);
29
- expect(result).not.toBeInstanceOf(TerminalQuotaError);
30
- expect(result).not.toBeInstanceOf(RetryableQuotaError);
31
- });
32
- it('should return TerminalQuotaError for daily quota violations in QuotaFailure', () => {
33
- const apiError = {
34
- code: 429,
35
- message: 'Quota exceeded',
36
- details: [
37
- {
38
- '@type': 'type.googleapis.com/google.rpc.QuotaFailure',
39
- violations: [
40
- {
41
- subject: 'user',
42
- description: 'daily limit',
43
- quotaId: 'RequestsPerDay-limit',
44
- },
45
- ],
46
- },
47
- ],
48
- };
49
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(apiError);
50
- const result = classifyGoogleError(new Error());
51
- expect(result).toBeInstanceOf(TerminalQuotaError);
52
- expect(result.cause).toBe(apiError);
53
- });
54
- it('should return TerminalQuotaError for daily quota violations in ErrorInfo', () => {
55
- const apiError = {
56
- code: 429,
57
- message: 'Quota exceeded',
58
- details: [
59
- {
60
- '@type': 'type.googleapis.com/google.rpc.ErrorInfo',
61
- reason: 'QUOTA_EXCEEDED',
62
- domain: 'googleapis.com',
63
- metadata: {
64
- quota_limit: 'RequestsPerDay_PerProject_PerUser',
65
- },
66
- },
67
- ],
68
- };
69
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(apiError);
70
- const result = classifyGoogleError(new Error());
71
- expect(result).toBeInstanceOf(TerminalQuotaError);
72
- });
73
- it('should return TerminalQuotaError for long retry delays', () => {
74
- const apiError = {
75
- code: 429,
76
- message: 'Too many requests',
77
- details: [
78
- {
79
- '@type': 'type.googleapis.com/google.rpc.RetryInfo',
80
- retryDelay: '301s', // > 5 minutes
81
- },
82
- ],
83
- };
84
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(apiError);
85
- const result = classifyGoogleError(new Error());
86
- expect(result).toBeInstanceOf(TerminalQuotaError);
87
- });
88
- it('should return RetryableQuotaError for short retry delays', () => {
89
- const apiError = {
90
- code: 429,
91
- message: 'Too many requests',
92
- details: [
93
- {
94
- '@type': 'type.googleapis.com/google.rpc.RetryInfo',
95
- retryDelay: '45.123s',
96
- },
97
- ],
98
- };
99
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(apiError);
100
- const result = classifyGoogleError(new Error());
101
- expect(result).toBeInstanceOf(RetryableQuotaError);
102
- expect(result.retryDelayMs).toBe(45123);
103
- });
104
- it('should return RetryableQuotaError for per-minute quota violations in QuotaFailure', () => {
105
- const apiError = {
106
- code: 429,
107
- message: 'Quota exceeded',
108
- details: [
109
- {
110
- '@type': 'type.googleapis.com/google.rpc.QuotaFailure',
111
- violations: [
112
- {
113
- subject: 'user',
114
- description: 'per minute limit',
115
- quotaId: 'RequestsPerMinute-limit',
116
- },
117
- ],
118
- },
119
- ],
120
- };
121
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(apiError);
122
- const result = classifyGoogleError(new Error());
123
- expect(result).toBeInstanceOf(RetryableQuotaError);
124
- expect(result.retryDelayMs).toBe(60000);
125
- });
126
- it('should return RetryableQuotaError for per-minute quota violations in ErrorInfo', () => {
127
- const apiError = {
128
- code: 429,
129
- message: 'Quota exceeded',
130
- details: [
131
- {
132
- '@type': 'type.googleapis.com/google.rpc.ErrorInfo',
133
- reason: 'QUOTA_EXCEEDED',
134
- domain: 'googleapis.com',
135
- metadata: {
136
- quota_limit: 'RequestsPerMinute_PerProject_PerUser',
137
- },
138
- },
139
- ],
140
- };
141
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(apiError);
142
- const result = classifyGoogleError(new Error());
143
- expect(result).toBeInstanceOf(RetryableQuotaError);
144
- expect(result.retryDelayMs).toBe(60000);
145
- });
146
- it('should prioritize daily limit over retry info', () => {
147
- const apiError = {
148
- code: 429,
149
- message: 'Quota exceeded',
150
- details: [
151
- {
152
- '@type': 'type.googleapis.com/google.rpc.QuotaFailure',
153
- violations: [
154
- {
155
- subject: 'user',
156
- description: 'daily limit',
157
- quotaId: 'RequestsPerDay-limit',
158
- },
159
- ],
160
- },
161
- {
162
- '@type': 'type.googleapis.com/google.rpc.RetryInfo',
163
- retryDelay: '10s',
164
- },
165
- ],
166
- };
167
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(apiError);
168
- const result = classifyGoogleError(new Error());
169
- expect(result).toBeInstanceOf(TerminalQuotaError);
170
- });
171
- it('should return original error for 429 without specific details', () => {
172
- const apiError = {
173
- code: 429,
174
- message: 'Too many requests',
175
- details: [
176
- {
177
- '@type': 'type.googleapis.com/google.rpc.DebugInfo',
178
- detail: 'some debug info',
179
- stackEntries: [],
180
- },
181
- ],
182
- };
183
- vi.spyOn(errorParser, 'parseGoogleApiError').mockReturnValue(apiError);
184
- const originalError = new Error();
185
- const result = classifyGoogleError(originalError);
186
- expect(result).toBe(originalError);
187
- });
188
- });
189
- //# sourceMappingURL=googleQuotaErrors.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"googleQuotaErrors.test.js","sourceRoot":"","sources":["../../../src/utils/googleQuotaErrors.test.ts"],"names":[],"mappings":"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"}