@google/gemini-cli-core 0.12.0-nightly.20251023.c4c0c0d1 → 0.12.0-nightly.20251027.cb0947c5

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 (189) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/agents/subagent-tool-wrapper.test.js +2 -4
  5. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
  6. package/dist/src/code_assist/oauth2.d.ts +2 -2
  7. package/dist/src/code_assist/oauth2.js +45 -32
  8. package/dist/src/code_assist/oauth2.js.map +1 -1
  9. package/dist/src/code_assist/oauth2.test.js +33 -1
  10. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  11. package/dist/src/code_assist/server.d.ts +3 -3
  12. package/dist/src/code_assist/server.js.map +1 -1
  13. package/dist/src/code_assist/setup.d.ts +2 -2
  14. package/dist/src/code_assist/setup.js.map +1 -1
  15. package/dist/src/config/config.d.ts +4 -1
  16. package/dist/src/config/config.js +7 -4
  17. package/dist/src/config/config.js.map +1 -1
  18. package/dist/src/config/config.test.js +0 -10
  19. package/dist/src/config/config.test.js.map +1 -1
  20. package/dist/src/core/client.d.ts +1 -11
  21. package/dist/src/core/client.js +17 -165
  22. package/dist/src/core/client.js.map +1 -1
  23. package/dist/src/core/client.test.js +70 -405
  24. package/dist/src/core/client.test.js.map +1 -1
  25. package/dist/src/core/contentGenerator.js +4 -0
  26. package/dist/src/core/contentGenerator.js.map +1 -1
  27. package/dist/src/core/contentGenerator.test.js +15 -0
  28. package/dist/src/core/contentGenerator.test.js.map +1 -1
  29. package/dist/src/core/coreToolScheduler.d.ts +7 -7
  30. package/dist/src/core/coreToolScheduler.js +211 -95
  31. package/dist/src/core/coreToolScheduler.js.map +1 -1
  32. package/dist/src/core/coreToolScheduler.test.js +239 -9
  33. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  34. package/dist/src/core/fakeContentGenerator.d.ts +26 -0
  35. package/dist/src/core/fakeContentGenerator.js +61 -0
  36. package/dist/src/core/fakeContentGenerator.js.map +1 -0
  37. package/dist/src/core/fakeContentGenerator.test.d.ts +6 -0
  38. package/dist/src/core/fakeContentGenerator.test.js +140 -0
  39. package/dist/src/core/fakeContentGenerator.test.js.map +1 -0
  40. package/dist/src/core/nonInteractiveToolExecutor.js +5 -4
  41. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  42. package/dist/src/core/prompts.test.js +30 -108
  43. package/dist/src/core/prompts.test.js.map +1 -1
  44. package/dist/src/generated/git-commit.d.ts +2 -2
  45. package/dist/src/generated/git-commit.js +2 -2
  46. package/dist/src/index.d.ts +1 -0
  47. package/dist/src/index.js +1 -0
  48. package/dist/src/index.js.map +1 -1
  49. package/dist/src/mcp/google-auth-provider.d.ts +4 -0
  50. package/dist/src/mcp/google-auth-provider.js +58 -7
  51. package/dist/src/mcp/google-auth-provider.js.map +1 -1
  52. package/dist/src/mcp/google-auth-provider.test.js +105 -11
  53. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  54. package/dist/src/mcp/oauth-provider.js +2 -2
  55. package/dist/src/mcp/oauth-provider.js.map +1 -1
  56. package/dist/src/mcp/oauth-provider.test.js +130 -0
  57. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  58. package/dist/src/mcp/oauth-token-storage.js +5 -4
  59. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  60. package/dist/src/mcp/oauth-token-storage.test.js +17 -11
  61. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  62. package/dist/src/mcp/oauth-utils.d.ts +7 -0
  63. package/dist/src/mcp/oauth-utils.js +19 -0
  64. package/dist/src/mcp/oauth-utils.js.map +1 -1
  65. package/dist/src/mcp/oauth-utils.test.js +32 -0
  66. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  67. package/dist/src/mcp/sa-impersonation-provider.d.ts +0 -6
  68. package/dist/src/mcp/sa-impersonation-provider.js +3 -21
  69. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
  70. package/dist/src/mcp/token-storage/base-token-storage.test.js +75 -84
  71. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -1
  72. package/dist/src/mcp/token-storage/keychain-token-storage.js +5 -4
  73. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  74. package/dist/src/mcp/token-storage/keychain-token-storage.test.js +21 -3
  75. package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -1
  76. package/dist/src/services/chatCompressionService.d.ts +32 -0
  77. package/dist/src/services/chatCompressionService.js +164 -0
  78. package/dist/src/services/chatCompressionService.js.map +1 -0
  79. package/dist/src/services/chatCompressionService.test.d.ts +6 -0
  80. package/dist/src/services/chatCompressionService.test.js +211 -0
  81. package/dist/src/services/chatCompressionService.test.js.map +1 -0
  82. package/dist/src/services/fileDiscoveryService.d.ts +0 -8
  83. package/dist/src/services/fileDiscoveryService.js +5 -33
  84. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  85. package/dist/src/services/fileDiscoveryService.test.js +11 -11
  86. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  87. package/dist/src/services/loopDetectionService.js +19 -9
  88. package/dist/src/services/loopDetectionService.js.map +1 -1
  89. package/dist/src/services/loopDetectionService.test.js +40 -11
  90. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  91. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -0
  92. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +35 -28
  93. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  94. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +1 -1
  95. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  96. package/dist/src/telemetry/metrics.test.js +2 -2
  97. package/dist/src/telemetry/metrics.test.js.map +1 -1
  98. package/dist/src/tools/edit.d.ts +3 -2
  99. package/dist/src/tools/edit.js +15 -11
  100. package/dist/src/tools/edit.js.map +1 -1
  101. package/dist/src/tools/edit.test.js +19 -0
  102. package/dist/src/tools/edit.test.js.map +1 -1
  103. package/dist/src/tools/glob.js +4 -2
  104. package/dist/src/tools/glob.js.map +1 -1
  105. package/dist/src/tools/grep.js +2 -2
  106. package/dist/src/tools/grep.js.map +1 -1
  107. package/dist/src/tools/ls.js +2 -1
  108. package/dist/src/tools/ls.js.map +1 -1
  109. package/dist/src/tools/ls.test.js +0 -7
  110. package/dist/src/tools/ls.test.js.map +1 -1
  111. package/dist/src/tools/mcp-tool.d.ts +2 -1
  112. package/dist/src/tools/mcp-tool.js +1 -1
  113. package/dist/src/tools/mcp-tool.js.map +1 -1
  114. package/dist/src/tools/memoryTool.d.ts +5 -3
  115. package/dist/src/tools/memoryTool.js +9 -7
  116. package/dist/src/tools/memoryTool.js.map +1 -1
  117. package/dist/src/tools/read-file.js +7 -3
  118. package/dist/src/tools/read-file.js.map +1 -1
  119. package/dist/src/tools/read-file.test.js +25 -2
  120. package/dist/src/tools/read-file.test.js.map +1 -1
  121. package/dist/src/tools/shell.d.ts +6 -4
  122. package/dist/src/tools/shell.js +18 -12
  123. package/dist/src/tools/shell.js.map +1 -1
  124. package/dist/src/tools/shell.test.js +7 -0
  125. package/dist/src/tools/shell.test.js.map +1 -1
  126. package/dist/src/tools/smart-edit.d.ts +2 -1
  127. package/dist/src/tools/smart-edit.js +10 -9
  128. package/dist/src/tools/smart-edit.js.map +1 -1
  129. package/dist/src/tools/tool-registry.d.ts +2 -1
  130. package/dist/src/tools/tool-registry.js +1 -1
  131. package/dist/src/tools/tool-registry.js.map +1 -1
  132. package/dist/src/tools/tools.d.ts +7 -0
  133. package/dist/src/tools/tools.js +11 -16
  134. package/dist/src/tools/tools.js.map +1 -1
  135. package/dist/src/tools/web-fetch.js +1 -12
  136. package/dist/src/tools/web-fetch.js.map +1 -1
  137. package/dist/src/tools/web-fetch.test.js +2 -2
  138. package/dist/src/tools/web-fetch.test.js.map +1 -1
  139. package/dist/src/tools/write-file.d.ts +2 -1
  140. package/dist/src/tools/write-file.js +6 -6
  141. package/dist/src/tools/write-file.js.map +1 -1
  142. package/dist/src/tools/write-todos.d.ts +2 -1
  143. package/dist/src/tools/write-todos.js +1 -1
  144. package/dist/src/tools/write-todos.js.map +1 -1
  145. package/dist/src/utils/environmentContext.d.ts +2 -1
  146. package/dist/src/utils/environmentContext.js +18 -0
  147. package/dist/src/utils/environmentContext.js.map +1 -1
  148. package/dist/src/utils/errorParsing.d.ts +1 -1
  149. package/dist/src/utils/errorParsing.js +5 -33
  150. package/dist/src/utils/errorParsing.js.map +1 -1
  151. package/dist/src/utils/errorParsing.test.js +0 -88
  152. package/dist/src/utils/errorParsing.test.js.map +1 -1
  153. package/dist/src/utils/errors.d.ts +3 -0
  154. package/dist/src/utils/errors.js +6 -0
  155. package/dist/src/utils/errors.js.map +1 -1
  156. package/dist/src/utils/flashFallback.test.js +26 -45
  157. package/dist/src/utils/flashFallback.test.js.map +1 -1
  158. package/dist/src/utils/getFolderStructure.js +7 -16
  159. package/dist/src/utils/getFolderStructure.js.map +1 -1
  160. package/dist/src/utils/googleErrors.d.ts +104 -0
  161. package/dist/src/utils/googleErrors.js +152 -0
  162. package/dist/src/utils/googleErrors.js.map +1 -0
  163. package/dist/src/utils/googleErrors.test.d.ts +6 -0
  164. package/dist/src/utils/googleErrors.test.js +301 -0
  165. package/dist/src/utils/googleErrors.test.js.map +1 -0
  166. package/dist/src/utils/googleQuotaErrors.d.ts +35 -0
  167. package/dist/src/utils/googleQuotaErrors.js +131 -0
  168. package/dist/src/utils/googleQuotaErrors.js.map +1 -0
  169. package/dist/src/utils/googleQuotaErrors.test.d.ts +6 -0
  170. package/dist/src/utils/googleQuotaErrors.test.js +281 -0
  171. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -0
  172. package/dist/src/utils/ignorePatterns.test.js +26 -30
  173. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  174. package/dist/src/utils/paths.js +126 -26
  175. package/dist/src/utils/paths.js.map +1 -1
  176. package/dist/src/utils/paths.test.js +200 -68
  177. package/dist/src/utils/paths.test.js.map +1 -1
  178. package/dist/src/utils/quotaErrorDetection.d.ts +0 -2
  179. package/dist/src/utils/quotaErrorDetection.js +0 -46
  180. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  181. package/dist/src/utils/retry.js +41 -145
  182. package/dist/src/utils/retry.js.map +1 -1
  183. package/dist/src/utils/retry.test.js +31 -110
  184. package/dist/src/utils/retry.test.js.map +1 -1
  185. package/dist/src/utils/shell-utils.test.js +70 -0
  186. package/dist/src/utils/shell-utils.test.js.map +1 -1
  187. package/dist/tsconfig.tsbuildinfo +1 -1
  188. package/package.json +2 -2
  189. package/dist/google-gemini-cli-core-0.12.0-nightly.20251022.0542de95.tgz +0 -0
@@ -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,140 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
7
+ import { FakeContentGenerator } from './fakeContentGenerator.js';
8
+ import { promises } from 'node:fs';
9
+ vi.mock('node:fs', async (importOriginal) => {
10
+ const actual = await importOriginal();
11
+ return {
12
+ ...actual,
13
+ promises: {
14
+ ...actual.promises,
15
+ readFile: vi.fn(),
16
+ },
17
+ };
18
+ });
19
+ const mockReadFile = vi.mocked(promises.readFile);
20
+ describe('FakeContentGenerator', () => {
21
+ const fakeResponses = {
22
+ generateContent: [
23
+ {
24
+ candidates: [
25
+ { content: { parts: [{ text: 'response1' }], role: 'model' } },
26
+ ],
27
+ },
28
+ ],
29
+ generateContentStream: [
30
+ [
31
+ {
32
+ candidates: [
33
+ { content: { parts: [{ text: 'chunk1' }], role: 'model' } },
34
+ ],
35
+ },
36
+ {
37
+ candidates: [
38
+ { content: { parts: [{ text: 'chunk2' }], role: 'model' } },
39
+ ],
40
+ },
41
+ ],
42
+ ],
43
+ countTokens: [{ totalTokens: 10 }],
44
+ embedContent: [
45
+ { embeddings: [{ values: [1, 2, 3] }] },
46
+ ],
47
+ };
48
+ beforeEach(() => {
49
+ vi.resetAllMocks();
50
+ });
51
+ it('should return responses for generateContent', async () => {
52
+ const generator = new FakeContentGenerator(fakeResponses);
53
+ const response = await generator.generateContent({}, 'id');
54
+ expect(response).toEqual(fakeResponses.generateContent[0]);
55
+ });
56
+ it('should throw error when no more generateContent responses', async () => {
57
+ const generator = new FakeContentGenerator({
58
+ ...fakeResponses,
59
+ generateContent: [],
60
+ });
61
+ await expect(generator.generateContent({}, 'id')).rejects.toThrowError('No more mock responses for generateContent');
62
+ });
63
+ it('should return responses for generateContentStream', async () => {
64
+ const generator = new FakeContentGenerator(fakeResponses);
65
+ const stream = await generator.generateContentStream({}, 'id');
66
+ const responses = [];
67
+ for await (const response of stream) {
68
+ responses.push(response);
69
+ }
70
+ expect(responses).toEqual(fakeResponses.generateContentStream[0]);
71
+ });
72
+ it('should throw error when no more generateContentStream responses', async () => {
73
+ const generator = new FakeContentGenerator({
74
+ ...fakeResponses,
75
+ generateContentStream: [],
76
+ });
77
+ await expect(generator.generateContentStream({}, 'id')).rejects.toThrow('No more mock responses for generateContentStream');
78
+ });
79
+ it('should return responses for countTokens', async () => {
80
+ const generator = new FakeContentGenerator(fakeResponses);
81
+ const response = await generator.countTokens({});
82
+ expect(response).toEqual(fakeResponses.countTokens[0]);
83
+ });
84
+ it('should throw error when no more countTokens responses', async () => {
85
+ const generator = new FakeContentGenerator({
86
+ ...fakeResponses,
87
+ countTokens: [],
88
+ });
89
+ await expect(generator.countTokens({})).rejects.toThrowError('No more mock responses for countTokens');
90
+ });
91
+ it('should return responses for embedContent', async () => {
92
+ const generator = new FakeContentGenerator(fakeResponses);
93
+ const response = await generator.embedContent({});
94
+ expect(response).toEqual(fakeResponses.embedContent[0]);
95
+ });
96
+ it('should throw error when no more embedContent responses', async () => {
97
+ const generator = new FakeContentGenerator({
98
+ ...fakeResponses,
99
+ embedContent: [],
100
+ });
101
+ await expect(generator.embedContent({})).rejects.toThrowError('No more mock responses for embedContent');
102
+ });
103
+ it('should handle multiple calls and exhaust responses', async () => {
104
+ const generator = new FakeContentGenerator(fakeResponses);
105
+ await generator.generateContent({}, 'id');
106
+ await expect(generator.generateContent({}, 'id')).rejects.toThrow();
107
+ });
108
+ describe('fromFile', () => {
109
+ it('should create a generator from a file', async () => {
110
+ const fileContent = JSON.stringify(fakeResponses);
111
+ mockReadFile.mockResolvedValue(fileContent);
112
+ const generator = await FakeContentGenerator.fromFile('fake-path.json');
113
+ const response = await generator.generateContent({}, 'id');
114
+ expect(response).toEqual(fakeResponses.generateContent[0]);
115
+ });
116
+ });
117
+ describe('constructor with partial responses', () => {
118
+ it('should handle missing generateContent', async () => {
119
+ const responses = { ...fakeResponses, generateContent: undefined };
120
+ const generator = new FakeContentGenerator(responses);
121
+ await expect(generator.generateContent({}, 'id')).rejects.toThrowError('No more mock responses for generateContent');
122
+ });
123
+ it('should handle missing generateContentStream', async () => {
124
+ const responses = { ...fakeResponses, generateContentStream: undefined };
125
+ const generator = new FakeContentGenerator(responses);
126
+ await expect(generator.generateContentStream({}, 'id')).rejects.toThrowError('No more mock responses for generateContentStream');
127
+ });
128
+ it('should handle missing countTokens', async () => {
129
+ const responses = { ...fakeResponses, countTokens: undefined };
130
+ const generator = new FakeContentGenerator(responses);
131
+ await expect(generator.countTokens({})).rejects.toThrowError('No more mock responses for countTokens');
132
+ });
133
+ it('should handle missing embedContent', async () => {
134
+ const responses = { ...fakeResponses, embedContent: undefined };
135
+ const generator = new FakeContentGenerator(responses);
136
+ await expect(generator.embedContent({})).rejects.toThrowError('No more mock responses for embedContent');
137
+ });
138
+ });
139
+ });
140
+ //# sourceMappingURL=fakeContentGenerator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fakeContentGenerator.test.js","sourceRoot":"","sources":["../../../src/core/fakeContentGenerator.test.ts"],"names":[],"mappings":"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"}
@@ -9,16 +9,17 @@ import { CoreToolScheduler, } from './coreToolScheduler.js';
9
9
  */
10
10
  export async function executeToolCall(config, toolCallRequest, abortSignal) {
11
11
  return new Promise((resolve, reject) => {
12
- new CoreToolScheduler({
12
+ const scheduler = new CoreToolScheduler({
13
13
  config,
14
14
  getPreferredEditor: () => undefined,
15
15
  onEditorClose: () => { },
16
16
  onAllToolCallsComplete: async (completedToolCalls) => {
17
17
  resolve(completedToolCalls[0]);
18
18
  },
19
- })
20
- .schedule(toolCallRequest, abortSignal)
21
- .catch(reject);
19
+ });
20
+ scheduler.schedule(toolCallRequest, abortSignal).catch((error) => {
21
+ reject(error);
22
+ });
22
23
  });
23
24
  }
24
25
  //# sourceMappingURL=nonInteractiveToolExecutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nonInteractiveToolExecutor.js","sourceRoot":"","sources":["../../../src/core/nonInteractiveToolExecutor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,eAAoC,EACpC,WAAwB;IAExB,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxD,IAAI,iBAAiB,CAAC;YACpB,MAAM;YACN,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;YACnC,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;YACvB,sBAAsB,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;gBACnD,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;SACF,CAAC;aACC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;aACtC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"nonInteractiveToolExecutor.js","sourceRoot":"","sources":["../../../src/core/nonInteractiveToolExecutor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,eAAoC,EACpC,WAAwB;IAExB,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxD,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC;YACtC,MAAM;YACN,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;YACnC,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;YACvB,sBAAsB,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;gBACnD,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/D,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -51,27 +51,16 @@ describe('Core System Prompt (prompts.ts)', () => {
51
51
  isInteractiveShellEnabled: vi.fn().mockReturnValue(true),
52
52
  };
53
53
  });
54
- it('should return the base prompt when no userMemory is provided', () => {
54
+ it.each([
55
+ ['empty string', ''],
56
+ ['whitespace only', ' \n \t '],
57
+ ])('should return the base prompt when userMemory is %s', (_, userMemory) => {
55
58
  vi.stubEnv('SANDBOX', undefined);
56
- const prompt = getCoreSystemPrompt(mockConfig, '');
59
+ const prompt = getCoreSystemPrompt(mockConfig, userMemory);
57
60
  expect(prompt).not.toContain('---\n\n'); // Separator should not be present
58
61
  expect(prompt).toContain('You are an interactive CLI agent'); // Check for core content
59
62
  expect(prompt).toMatchSnapshot(); // Use snapshot for base prompt structure
60
63
  });
61
- it('should return the base prompt when userMemory is empty string', () => {
62
- vi.stubEnv('SANDBOX', undefined);
63
- const prompt = getCoreSystemPrompt(mockConfig, '');
64
- expect(prompt).not.toContain('---\n\n');
65
- expect(prompt).toContain('You are an interactive CLI agent');
66
- expect(prompt).toMatchSnapshot();
67
- });
68
- it('should return the base prompt when userMemory is whitespace only', () => {
69
- vi.stubEnv('SANDBOX', undefined);
70
- const prompt = getCoreSystemPrompt(mockConfig, ' \n \t ');
71
- expect(prompt).not.toContain('---\n\n');
72
- expect(prompt).toContain('You are an interactive CLI agent');
73
- expect(prompt).toMatchSnapshot();
74
- });
75
64
  it('should append userMemory with separator when provided', () => {
76
65
  vi.stubEnv('SANDBOX', undefined);
77
66
  const memory = 'This is custom user memory.\nBe extra polite.';
@@ -158,14 +147,8 @@ describe('Core System Prompt (prompts.ts)', () => {
158
147
  });
159
148
  });
160
149
  describe('GEMINI_SYSTEM_MD environment variable', () => {
161
- it('should use default prompt when GEMINI_SYSTEM_MD is "false"', () => {
162
- vi.stubEnv('GEMINI_SYSTEM_MD', 'false');
163
- const prompt = getCoreSystemPrompt(mockConfig);
164
- expect(fs.readFileSync).not.toHaveBeenCalled();
165
- expect(prompt).not.toContain('custom system prompt');
166
- });
167
- it('should use default prompt when GEMINI_SYSTEM_MD is "0"', () => {
168
- vi.stubEnv('GEMINI_SYSTEM_MD', '0');
150
+ it.each(['false', '0'])('should use default prompt when GEMINI_SYSTEM_MD is "%s"', (value) => {
151
+ vi.stubEnv('GEMINI_SYSTEM_MD', value);
169
152
  const prompt = getCoreSystemPrompt(mockConfig);
170
153
  expect(fs.readFileSync).not.toHaveBeenCalled();
171
154
  expect(prompt).not.toContain('custom system prompt');
@@ -176,18 +159,9 @@ describe('Core System Prompt (prompts.ts)', () => {
176
159
  vi.mocked(fs.existsSync).mockReturnValue(false);
177
160
  expect(() => getCoreSystemPrompt(mockConfig)).toThrow(`missing system prompt file '${path.resolve(customPath)}'`);
178
161
  });
179
- it('should read from default path when GEMINI_SYSTEM_MD is "true"', () => {
162
+ it.each(['true', '1'])('should read from default path when GEMINI_SYSTEM_MD is "%s"', (value) => {
180
163
  const defaultPath = path.resolve(path.join(GEMINI_DIR, 'system.md'));
181
- vi.stubEnv('GEMINI_SYSTEM_MD', 'true');
182
- vi.mocked(fs.existsSync).mockReturnValue(true);
183
- vi.mocked(fs.readFileSync).mockReturnValue('custom system prompt');
184
- const prompt = getCoreSystemPrompt(mockConfig);
185
- expect(fs.readFileSync).toHaveBeenCalledWith(defaultPath, 'utf8');
186
- expect(prompt).toBe('custom system prompt');
187
- });
188
- it('should read from default path when GEMINI_SYSTEM_MD is "1"', () => {
189
- const defaultPath = path.resolve(path.join(GEMINI_DIR, 'system.md'));
190
- vi.stubEnv('GEMINI_SYSTEM_MD', '1');
164
+ vi.stubEnv('GEMINI_SYSTEM_MD', value);
191
165
  vi.mocked(fs.existsSync).mockReturnValue(true);
192
166
  vi.mocked(fs.readFileSync).mockReturnValue('custom system prompt');
193
167
  const prompt = getCoreSystemPrompt(mockConfig);
@@ -217,25 +191,14 @@ describe('Core System Prompt (prompts.ts)', () => {
217
191
  });
218
192
  });
219
193
  describe('GEMINI_WRITE_SYSTEM_MD environment variable', () => {
220
- it('should not write to file when GEMINI_WRITE_SYSTEM_MD is "false"', () => {
221
- vi.stubEnv('GEMINI_WRITE_SYSTEM_MD', 'false');
222
- getCoreSystemPrompt(mockConfig);
223
- expect(fs.writeFileSync).not.toHaveBeenCalled();
224
- });
225
- it('should not write to file when GEMINI_WRITE_SYSTEM_MD is "0"', () => {
226
- vi.stubEnv('GEMINI_WRITE_SYSTEM_MD', '0');
194
+ it.each(['false', '0'])('should not write to file when GEMINI_WRITE_SYSTEM_MD is "%s"', (value) => {
195
+ vi.stubEnv('GEMINI_WRITE_SYSTEM_MD', value);
227
196
  getCoreSystemPrompt(mockConfig);
228
197
  expect(fs.writeFileSync).not.toHaveBeenCalled();
229
198
  });
230
- it('should write to default path when GEMINI_WRITE_SYSTEM_MD is "true"', () => {
199
+ it.each(['true', '1'])('should write to default path when GEMINI_WRITE_SYSTEM_MD is "%s"', (value) => {
231
200
  const defaultPath = path.resolve(path.join(GEMINI_DIR, 'system.md'));
232
- vi.stubEnv('GEMINI_WRITE_SYSTEM_MD', 'true');
233
- getCoreSystemPrompt(mockConfig);
234
- expect(fs.writeFileSync).toHaveBeenCalledWith(defaultPath, expect.any(String));
235
- });
236
- it('should write to default path when GEMINI_WRITE_SYSTEM_MD is "1"', () => {
237
- const defaultPath = path.resolve(path.join(GEMINI_DIR, 'system.md'));
238
- vi.stubEnv('GEMINI_WRITE_SYSTEM_MD', '1');
201
+ vi.stubEnv('GEMINI_WRITE_SYSTEM_MD', value);
239
202
  getCoreSystemPrompt(mockConfig);
240
203
  expect(fs.writeFileSync).toHaveBeenCalledWith(defaultPath, expect.any(String));
241
204
  });
@@ -270,24 +233,12 @@ describe('resolvePathFromEnv helper function', () => {
270
233
  vi.resetAllMocks();
271
234
  });
272
235
  describe('when envVar is undefined, empty, or whitespace', () => {
273
- it('should return null for undefined', () => {
274
- const result = resolvePathFromEnv(undefined);
275
- expect(result).toEqual({
276
- isSwitch: false,
277
- value: null,
278
- isDisabled: false,
279
- });
280
- });
281
- it('should return null for empty string', () => {
282
- const result = resolvePathFromEnv('');
283
- expect(result).toEqual({
284
- isSwitch: false,
285
- value: null,
286
- isDisabled: false,
287
- });
288
- });
289
- it('should return null for whitespace only', () => {
290
- const result = resolvePathFromEnv(' \n\t ');
236
+ it.each([
237
+ ['undefined', undefined],
238
+ ['empty string', ''],
239
+ ['whitespace only', ' \n\t '],
240
+ ])('should return null for %s', (_, input) => {
241
+ const result = resolvePathFromEnv(input);
291
242
  expect(result).toEqual({
292
243
  isSwitch: false,
293
244
  value: null,
@@ -296,48 +247,19 @@ describe('resolvePathFromEnv helper function', () => {
296
247
  });
297
248
  });
298
249
  describe('when envVar is a boolean-like string', () => {
299
- it('should handle "0" as disabled switch', () => {
300
- const result = resolvePathFromEnv('0');
250
+ it.each([
251
+ ['"0" as disabled switch', '0', '0', true],
252
+ ['"false" as disabled switch', 'false', 'false', true],
253
+ ['"1" as enabled switch', '1', '1', false],
254
+ ['"true" as enabled switch', 'true', 'true', false],
255
+ ['"FALSE" (case-insensitive)', 'FALSE', 'false', true],
256
+ ['"TRUE" (case-insensitive)', 'TRUE', 'true', false],
257
+ ])('should handle %s', (_, input, expectedValue, isDisabled) => {
258
+ const result = resolvePathFromEnv(input);
301
259
  expect(result).toEqual({
302
260
  isSwitch: true,
303
- value: '0',
304
- isDisabled: true,
305
- });
306
- });
307
- it('should handle "false" as disabled switch', () => {
308
- const result = resolvePathFromEnv('false');
309
- expect(result).toEqual({
310
- isSwitch: true,
311
- value: 'false',
312
- isDisabled: true,
313
- });
314
- });
315
- it('should handle "1" as enabled switch', () => {
316
- const result = resolvePathFromEnv('1');
317
- expect(result).toEqual({
318
- isSwitch: true,
319
- value: '1',
320
- isDisabled: false,
321
- });
322
- });
323
- it('should handle "true" as enabled switch', () => {
324
- const result = resolvePathFromEnv('true');
325
- expect(result).toEqual({
326
- isSwitch: true,
327
- value: 'true',
328
- isDisabled: false,
329
- });
330
- });
331
- it('should be case-insensitive for boolean values', () => {
332
- expect(resolvePathFromEnv('FALSE')).toEqual({
333
- isSwitch: true,
334
- value: 'false',
335
- isDisabled: true,
336
- });
337
- expect(resolvePathFromEnv('TRUE')).toEqual({
338
- isSwitch: true,
339
- value: 'true',
340
- isDisabled: false,
261
+ value: expectedValue,
262
+ isDisabled,
341
263
  });
342
264
  });
343
265
  });
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.test.js","sourceRoot":"","sources":["../../../src/core/prompts.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.test.js","sourceRoot":"","sources":["../../../src/core/prompts.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,+DAA+D;AAC/D,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;AACvE,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AACpE,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AACjE,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;AAChF,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/E,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;CAC/C,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;CACzC,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;CACtC,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,yBAAyB,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;CAC7D,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;CACzB,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEnB,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,IAAI,UAAkB,CAAC;IACvB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAC1C,EAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QAChD,UAAU,GAAG;YACX,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBACvC,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;aAC7C,CAAC;YACF,8BAA8B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC7D,OAAO,EAAE;gBACP,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,mBAAmB,CAAC;aAChE;YACD,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC5C,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;SACpC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,cAAc,EAAE,EAAE,CAAC;QACpB,CAAC,iBAAiB,EAAE,YAAY,CAAC;KAClC,CAAC,CAAC,qDAAqD,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE;QAC1E,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,kCAAkC;QAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC,CAAC,yBAAyB;QACvF,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,yCAAyC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,+CAA+C,CAAC;QAC/D,MAAM,cAAc,GAAG,cAAc,MAAM,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC,CAAC,6BAA6B;QAC3F,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,+BAA+B;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,wBAAwB;QACvD,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,uBAAuB;QACzD,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAAC,+BAA+B;QACtF,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,yCAAyC;IAC7E,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACjD,UAAU,CAAC,GAAG,EAAE;YACd,UAAU,GAAG;gBACX,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;oBACvC,eAAe,EAAE,EAAE;yBAChB,EAAE,EAAE;yBACJ,eAAe,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;iBACrD,CAAC;gBACF,8BAA8B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC7D,OAAO,EAAE;oBACP,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,mBAAmB,CAAC;iBAChE;gBACD,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;gBAC7C,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;aACrC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CACtB,4CAA4C,yBAAyB,CAAC,IAAI,GAAG,CAC9E,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CACtB,gCAAgC,yBAAyB,CAAC,IAAI,GAAG,CAClE,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAC1B,+DAA+D,CAChE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,sEAAsE;QACtE,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAC1B,4CAA4C,yBAAyB,CAAC,IAAI,GAAG,CAC9E,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CACtB,+DAA+D,CAChE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACrD,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CACrB,yDAAyD,EACzD,CAAC,KAAK,EAAE,EAAE;YACR,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACvD,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,UAAU,GAAG,8BAA8B,CAAC;YAClD,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;YAC3C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CACnD,+BAA+B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAC3D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACpB,6DAA6D,EAC7D,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YACrE,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACtC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC9C,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;YAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC1D,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;YAC3C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,oBAAoB,CAAC;YACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC5D,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;YAC3C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAC1C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAC1B,MAAM,CACP,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;QAC3D,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CACrB,8DAA8D,EAC9D,CAAC,KAAK,EAAE,EAAE;YACR,EAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC5C,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClD,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACpB,kEAAkE,EAClE,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YACrE,EAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC5C,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC3C,WAAW,EACX,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC1D,EAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;YACjD,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC3C,UAAU,EACV,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,oBAAoB,CAAC;YACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC5D,EAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;YACjD,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAC1B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAClF,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,GAAG,CAAC;YACvB,MAAM,YAAY,GAAG,OAAO,CAAC;YAC7B,EAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;YACjD,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAC1B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC9D,EAAE,CAAC,IAAI,CAAC;YACN,CAAC,WAAW,EAAE,SAAS,CAAC;YACxB,CAAC,cAAc,EAAE,EAAE,CAAC;YACpB,CAAC,iBAAiB,EAAE,WAAW,CAAC;SACjC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;QACpD,EAAE,CAAC,IAAI,CAAC;YACN,CAAC,wBAAwB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;YAC1C,CAAC,4BAA4B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;YACtD,CAAC,uBAAuB,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;YAC1C,CAAC,0BAA0B,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;YACnD,CAAC,4BAA4B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;YACtD,CAAC,2BAA2B,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;SACrD,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE;YAC7D,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,aAAa;gBACpB,UAAU;aACX,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC9C,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBAC7C,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAC7D,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC5B,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAC9C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAE1E,MAAM,MAAM,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC,iEAAiE,EACjE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAClB,CAAC;YAEF,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -3,5 +3,5 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "c4c0c0d1";
7
- export declare const CLI_VERSION = "0.12.0-nightly.20251023.c4c0c0d1";
6
+ export declare const GIT_COMMIT_INFO = "cb0947c5";
7
+ export declare const CLI_VERSION = "0.12.0-nightly.20251027.cb0947c5";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = 'c4c0c0d1';
9
- export const CLI_VERSION = '0.12.0-nightly.20251023.c4c0c0d1';
8
+ export const GIT_COMMIT_INFO = 'cb0947c5';
9
+ export const CLI_VERSION = '0.12.0-nightly.20251027.cb0947c5';
10
10
  //# sourceMappingURL=git-commit.js.map
@@ -38,6 +38,7 @@ export * from './utils/gitIgnoreParser.js';
38
38
  export * from './utils/gitUtils.js';
39
39
  export * from './utils/editor.js';
40
40
  export * from './utils/quotaErrorDetection.js';
41
+ export * from './utils/googleQuotaErrors.js';
41
42
  export * from './utils/fileUtils.js';
42
43
  export * from './utils/retry.js';
43
44
  export * from './utils/shell-utils.js';
package/dist/src/index.js CHANGED
@@ -42,6 +42,7 @@ export * from './utils/gitIgnoreParser.js';
42
42
  export * from './utils/gitUtils.js';
43
43
  export * from './utils/editor.js';
44
44
  export * from './utils/quotaErrorDetection.js';
45
+ export * from './utils/googleQuotaErrors.js';
45
46
  export * from './utils/fileUtils.js';
46
47
  export * from './utils/retry.js';
47
48
  export * from './utils/shell-utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ import type { MCPServerConfig } from '../config/config.js';
9
9
  export declare class GoogleCredentialProvider implements OAuthClientProvider {
10
10
  private readonly config?;
11
11
  private readonly auth;
12
+ private readonly useIdToken;
13
+ private readonly audience?;
14
+ private cachedToken?;
15
+ private tokenExpiryTime?;
12
16
  readonly redirectUrl = "";
13
17
  readonly clientMetadata: OAuthClientMetadata;
14
18
  private _clientInformation?;
@@ -4,10 +4,17 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { GoogleAuth } from 'google-auth-library';
7
+ import { OAuthUtils, FIVE_MIN_BUFFER_MS } from './oauth-utils.js';
8
+ const CLOUD_RUN_HOST_REGEX = /^(.*\.)?run\.app$/;
9
+ // An array of hosts that are allowed to use the Google Credential provider.
7
10
  const ALLOWED_HOSTS = [/^.+\.googleapis\.com$/, /^(.*\.)?luci\.app$/];
8
11
  export class GoogleCredentialProvider {
9
12
  config;
10
13
  auth;
14
+ useIdToken = false;
15
+ audience;
16
+ cachedToken;
17
+ tokenExpiryTime;
11
18
  // Properties required by OAuthClientProvider, with no-op values
12
19
  redirectUrl = '';
13
20
  clientMetadata = {
@@ -25,15 +32,24 @@ export class GoogleCredentialProvider {
25
32
  throw new Error('URL must be provided in the config for Google Credentials provider');
26
33
  }
27
34
  const hostname = new URL(url).hostname;
28
- if (!ALLOWED_HOSTS.some((pattern) => pattern.test(hostname))) {
35
+ const isRunAppHost = CLOUD_RUN_HOST_REGEX.test(hostname);
36
+ if (!this.config?.allow_unscoped_id_tokens_cloud_run && isRunAppHost) {
37
+ throw new Error(`To enable the Cloud Run MCP Server at ${url} please set allow_unscoped_id_tokens_cloud_run:true in the MCP Server config.`);
38
+ }
39
+ if (this.config?.allow_unscoped_id_tokens_cloud_run && isRunAppHost) {
40
+ this.useIdToken = true;
41
+ }
42
+ this.audience = hostname;
43
+ if (!this.useIdToken &&
44
+ !ALLOWED_HOSTS.some((pattern) => pattern.test(hostname))) {
29
45
  throw new Error(`Host "${hostname}" is not an allowed host for Google Credential provider.`);
30
46
  }
31
- const scopes = this.config?.oauth?.scopes;
32
- if (!scopes || scopes.length === 0) {
33
- throw new Error('Scopes must be provided in the oauth config for Google Credentials provider');
47
+ // If we are using the access token flow, we MUST have scopes.
48
+ if (!this.useIdToken && !this.config?.oauth?.scopes) {
49
+ throw new Error('Scopes must be provided in the oauth config for Google Credentials provider (or enable allow_unscoped_id_tokens_for_cloud_run to use ID tokens for Cloud Run endpoints)');
34
50
  }
35
51
  this.auth = new GoogleAuth({
36
- scopes,
52
+ scopes: this.config?.oauth?.scopes,
37
53
  });
38
54
  }
39
55
  clientInformation() {
@@ -43,17 +59,52 @@ export class GoogleCredentialProvider {
43
59
  this._clientInformation = clientInformation;
44
60
  }
45
61
  async tokens() {
62
+ // check for a valid, non-expired cached token.
63
+ if (this.cachedToken &&
64
+ this.tokenExpiryTime &&
65
+ Date.now() < this.tokenExpiryTime - FIVE_MIN_BUFFER_MS) {
66
+ return this.cachedToken;
67
+ }
68
+ // Clear invalid/expired cache.
69
+ this.cachedToken = undefined;
70
+ this.tokenExpiryTime = undefined;
71
+ // If allow_unscoped_id_tokens_for_cloud_run is configured, use ID tokens.
72
+ if (this.useIdToken) {
73
+ try {
74
+ const idClient = await this.auth.getIdTokenClient(this.audience);
75
+ const idToken = await idClient.idTokenProvider.fetchIdToken(this.audience);
76
+ const newToken = {
77
+ access_token: idToken,
78
+ token_type: 'Bearer',
79
+ };
80
+ const expiryTime = OAuthUtils.parseTokenExpiry(idToken);
81
+ if (expiryTime) {
82
+ this.tokenExpiryTime = expiryTime;
83
+ this.cachedToken = newToken;
84
+ }
85
+ return newToken;
86
+ }
87
+ catch (e) {
88
+ console.error('Failed to get ID token from Google ADC', e);
89
+ return undefined;
90
+ }
91
+ }
46
92
  const client = await this.auth.getClient();
47
93
  const accessTokenResponse = await client.getAccessToken();
48
94
  if (!accessTokenResponse.token) {
49
95
  console.error('Failed to get access token from Google ADC');
50
96
  return undefined;
51
97
  }
52
- const tokens = {
98
+ const newToken = {
53
99
  access_token: accessTokenResponse.token,
54
100
  token_type: 'Bearer',
55
101
  };
56
- return tokens;
102
+ const expiryTime = client.credentials?.expiry_date;
103
+ if (expiryTime) {
104
+ this.tokenExpiryTime = expiryTime;
105
+ this.cachedToken = newToken;
106
+ }
107
+ return newToken;
57
108
  }
58
109
  saveTokens(_tokens) {
59
110
  // No-op, ADC manages tokens.