@google/gemini-cli-core 0.23.0-preview.2 → 0.24.0-nightly.20251227.37be16243

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 (155) hide show
  1. package/dist/docs/cli/settings.md +7 -5
  2. package/dist/docs/get-started/configuration.md +67 -0
  3. package/dist/google-gemini-cli-core-0.24.0-nightly.20251226.546baf993.tgz +0 -0
  4. package/dist/src/agents/a2a-client-manager.d.ts +73 -0
  5. package/dist/src/agents/a2a-client-manager.js +165 -0
  6. package/dist/src/agents/a2a-client-manager.js.map +1 -0
  7. package/dist/src/agents/a2a-client-manager.test.d.ts +6 -0
  8. package/dist/src/agents/a2a-client-manager.test.js +211 -0
  9. package/dist/src/agents/a2a-client-manager.test.js.map +1 -0
  10. package/dist/src/agents/local-executor.js +1 -0
  11. package/dist/src/agents/local-executor.js.map +1 -1
  12. package/dist/src/availability/policyHelpers.js +0 -2
  13. package/dist/src/availability/policyHelpers.js.map +1 -1
  14. package/dist/src/code_assist/server.js +7 -2
  15. package/dist/src/code_assist/server.js.map +1 -1
  16. package/dist/src/code_assist/server.test.js +3 -0
  17. package/dist/src/code_assist/server.test.js.map +1 -1
  18. package/dist/src/config/config.d.ts +25 -4
  19. package/dist/src/config/config.js +37 -6
  20. package/dist/src/config/config.js.map +1 -1
  21. package/dist/src/config/config.test.js +18 -0
  22. package/dist/src/config/config.test.js.map +1 -1
  23. package/dist/src/config/models.d.ts +1 -9
  24. package/dist/src/config/models.js +1 -11
  25. package/dist/src/config/models.js.map +1 -1
  26. package/dist/src/config/models.test.js +16 -16
  27. package/dist/src/config/models.test.js.map +1 -1
  28. package/dist/src/confirmation-bus/types.d.ts +1 -1
  29. package/dist/src/core/client.d.ts +1 -1
  30. package/dist/src/core/client.js +3 -3
  31. package/dist/src/core/client.js.map +1 -1
  32. package/dist/src/core/contentGenerator.js +2 -2
  33. package/dist/src/core/contentGenerator.js.map +1 -1
  34. package/dist/src/core/coreToolScheduler.d.ts +5 -85
  35. package/dist/src/core/coreToolScheduler.js +13 -184
  36. package/dist/src/core/coreToolScheduler.js.map +1 -1
  37. package/dist/src/core/coreToolScheduler.test.js +18 -365
  38. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  39. package/dist/src/core/turn.d.ts +3 -21
  40. package/dist/src/core/turn.js +1 -0
  41. package/dist/src/core/turn.js.map +1 -1
  42. package/dist/src/fallback/handler.js +0 -6
  43. package/dist/src/fallback/handler.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/generated/git-commit.js.map +1 -1
  47. package/dist/src/hooks/hookPlanner.d.ts +1 -5
  48. package/dist/src/hooks/hookPlanner.js +2 -9
  49. package/dist/src/hooks/hookPlanner.js.map +1 -1
  50. package/dist/src/hooks/hookPlanner.test.js +1 -2
  51. package/dist/src/hooks/hookPlanner.test.js.map +1 -1
  52. package/dist/src/hooks/hookRegistry.d.ts +5 -10
  53. package/dist/src/hooks/hookRegistry.js +39 -12
  54. package/dist/src/hooks/hookRegistry.js.map +1 -1
  55. package/dist/src/hooks/hookRegistry.test.js +93 -2
  56. package/dist/src/hooks/hookRegistry.test.js.map +1 -1
  57. package/dist/src/hooks/hookRunner.d.ts +3 -1
  58. package/dist/src/hooks/hookRunner.js +20 -3
  59. package/dist/src/hooks/hookRunner.js.map +1 -1
  60. package/dist/src/hooks/hookRunner.test.js +58 -2
  61. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  62. package/dist/src/hooks/hookSystem.js +1 -1
  63. package/dist/src/hooks/hookSystem.js.map +1 -1
  64. package/dist/src/hooks/index.d.ts +1 -1
  65. package/dist/src/hooks/index.js +1 -1
  66. package/dist/src/hooks/index.js.map +1 -1
  67. package/dist/src/hooks/trustedHooks.d.ts +28 -0
  68. package/dist/src/hooks/trustedHooks.js +90 -0
  69. package/dist/src/hooks/trustedHooks.js.map +1 -0
  70. package/dist/src/hooks/trustedHooks.test.d.ts +6 -0
  71. package/dist/src/hooks/trustedHooks.test.js +154 -0
  72. package/dist/src/hooks/trustedHooks.test.js.map +1 -0
  73. package/dist/src/hooks/types.d.ts +15 -11
  74. package/dist/src/hooks/types.js +19 -30
  75. package/dist/src/hooks/types.js.map +1 -1
  76. package/dist/src/hooks/types.test.js +1 -24
  77. package/dist/src/hooks/types.test.js.map +1 -1
  78. package/dist/src/ide/ide-client.js +3 -0
  79. package/dist/src/ide/ide-client.js.map +1 -1
  80. package/dist/src/index.d.ts +1 -0
  81. package/dist/src/index.js +1 -0
  82. package/dist/src/index.js.map +1 -1
  83. package/dist/src/policy/config.js +34 -17
  84. package/dist/src/policy/config.js.map +1 -1
  85. package/dist/src/policy/persistence.test.js +7 -2
  86. package/dist/src/policy/persistence.test.js.map +1 -1
  87. package/dist/src/policy/policy-engine.d.ts +10 -1
  88. package/dist/src/policy/policy-engine.js +24 -4
  89. package/dist/src/policy/policy-engine.js.map +1 -1
  90. package/dist/src/policy/policy-engine.test.js +26 -2
  91. package/dist/src/policy/policy-engine.test.js.map +1 -1
  92. package/dist/src/policy/policy-updater.test.d.ts +6 -0
  93. package/dist/src/policy/policy-updater.test.js +116 -0
  94. package/dist/src/policy/policy-updater.test.js.map +1 -0
  95. package/dist/src/policy/shell-safety.test.js +2 -1
  96. package/dist/src/policy/shell-safety.test.js.map +1 -1
  97. package/dist/src/policy/toml-loader.d.ts +3 -5
  98. package/dist/src/policy/toml-loader.js +35 -20
  99. package/dist/src/policy/toml-loader.js.map +1 -1
  100. package/dist/src/policy/toml-loader.test.js +28 -7
  101. package/dist/src/policy/toml-loader.test.js.map +1 -1
  102. package/dist/src/policy/types.d.ts +15 -0
  103. package/dist/src/routing/strategies/overrideStrategy.js +2 -2
  104. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  105. package/dist/src/scheduler/types.d.ts +95 -0
  106. package/dist/src/scheduler/types.js +7 -0
  107. package/dist/src/scheduler/types.js.map +1 -0
  108. package/dist/src/services/environmentSanitization.d.ts +15 -0
  109. package/dist/src/services/environmentSanitization.js +141 -0
  110. package/dist/src/services/environmentSanitization.js.map +1 -0
  111. package/dist/src/services/environmentSanitization.test.d.ts +6 -0
  112. package/dist/src/services/environmentSanitization.test.js +284 -0
  113. package/dist/src/services/environmentSanitization.test.js.map +1 -0
  114. package/dist/src/services/gitService.js +10 -1
  115. package/dist/src/services/gitService.js.map +1 -1
  116. package/dist/src/services/gitService.test.js +18 -0
  117. package/dist/src/services/gitService.test.js.map +1 -1
  118. package/dist/src/services/shellExecutionService.d.ts +2 -0
  119. package/dist/src/services/shellExecutionService.js +5 -65
  120. package/dist/src/services/shellExecutionService.js.map +1 -1
  121. package/dist/src/services/shellExecutionService.test.js +26 -3
  122. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  123. package/dist/src/telemetry/loggers.test.circular.js +1 -0
  124. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  125. package/dist/src/tools/mcp-client.d.ts +3 -2
  126. package/dist/src/tools/mcp-client.js +7 -6
  127. package/dist/src/tools/mcp-client.js.map +1 -1
  128. package/dist/src/tools/mcp-client.test.js +47 -42
  129. package/dist/src/tools/mcp-client.test.js.map +1 -1
  130. package/dist/src/tools/shell.js +13 -2
  131. package/dist/src/tools/shell.js.map +1 -1
  132. package/dist/src/tools/tools.d.ts +2 -2
  133. package/dist/src/tools/tools.js +1 -1
  134. package/dist/src/utils/checkpointUtils.d.ts +1 -1
  135. package/dist/src/utils/fileUtils.d.ts +4 -0
  136. package/dist/src/utils/fileUtils.js +53 -0
  137. package/dist/src/utils/fileUtils.js.map +1 -1
  138. package/dist/src/utils/fileUtils.test.js +112 -1
  139. package/dist/src/utils/fileUtils.test.js.map +1 -1
  140. package/dist/src/utils/generateContentResponseUtilities.d.ts +2 -1
  141. package/dist/src/utils/generateContentResponseUtilities.js +96 -0
  142. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
  143. package/dist/src/utils/generateContentResponseUtilities.test.js +221 -1
  144. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
  145. package/dist/src/utils/terminal.d.ts +2 -0
  146. package/dist/src/utils/terminal.js +6 -0
  147. package/dist/src/utils/terminal.js.map +1 -1
  148. package/dist/src/utils/tool-utils.d.ts +9 -0
  149. package/dist/src/utils/tool-utils.js +29 -0
  150. package/dist/src/utils/tool-utils.js.map +1 -1
  151. package/dist/src/utils/tool-utils.test.js +15 -1
  152. package/dist/src/utils/tool-utils.test.js.map +1 -1
  153. package/dist/tsconfig.tsbuildinfo +1 -1
  154. package/package.json +2 -1
  155. package/dist/google-gemini-cli-core-0.23.0-preview.1.tgz +0 -0
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { describe, it, expect } from 'vitest';
7
- import { getEffectiveModel, resolveClassifierModel, isGemini2Model, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_LITE_MODEL, supportsMultimodalFunctionResponse, GEMINI_MODEL_ALIAS_PRO, GEMINI_MODEL_ALIAS_FLASH, GEMINI_MODEL_ALIAS_FLASH_LITE, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_MODEL_AUTO, } from './models.js';
7
+ import { resolveModel, resolveClassifierModel, isGemini2Model, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_LITE_MODEL, supportsMultimodalFunctionResponse, GEMINI_MODEL_ALIAS_PRO, GEMINI_MODEL_ALIAS_FLASH, GEMINI_MODEL_ALIAS_FLASH_LITE, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_MODEL_AUTO, } from './models.js';
8
8
  describe('supportsMultimodalFunctionResponse', () => {
9
9
  it('should return true for gemini-3 model', () => {
10
10
  expect(supportsMultimodalFunctionResponse('gemini-3-pro')).toBe(true);
@@ -18,53 +18,53 @@ describe('supportsMultimodalFunctionResponse', () => {
18
18
  expect(supportsMultimodalFunctionResponse('')).toBe(false);
19
19
  });
20
20
  });
21
- describe('getEffectiveModel', () => {
22
- describe('delegation to resolveModel', () => {
21
+ describe('resolveModel', () => {
22
+ describe('delegation logic', () => {
23
23
  it('should return the Preview Pro model when auto-gemini-3 is requested', () => {
24
- const model = getEffectiveModel(PREVIEW_GEMINI_MODEL_AUTO, false);
24
+ const model = resolveModel(PREVIEW_GEMINI_MODEL_AUTO, false);
25
25
  expect(model).toBe(PREVIEW_GEMINI_MODEL);
26
26
  });
27
27
  it('should return the Default Pro model when auto-gemini-2.5 is requested', () => {
28
- const model = getEffectiveModel(DEFAULT_GEMINI_MODEL_AUTO, false);
28
+ const model = resolveModel(DEFAULT_GEMINI_MODEL_AUTO, false);
29
29
  expect(model).toBe(DEFAULT_GEMINI_MODEL);
30
30
  });
31
31
  it('should return the requested model as-is for explicit specific models', () => {
32
- expect(getEffectiveModel(DEFAULT_GEMINI_MODEL, false)).toBe(DEFAULT_GEMINI_MODEL);
33
- expect(getEffectiveModel(DEFAULT_GEMINI_FLASH_MODEL, false)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
34
- expect(getEffectiveModel(DEFAULT_GEMINI_FLASH_LITE_MODEL, false)).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
32
+ expect(resolveModel(DEFAULT_GEMINI_MODEL, false)).toBe(DEFAULT_GEMINI_MODEL);
33
+ expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
34
+ expect(resolveModel(DEFAULT_GEMINI_FLASH_LITE_MODEL, false)).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
35
35
  });
36
36
  it('should return a custom model name when requested', () => {
37
37
  const customModel = 'custom-model-v1';
38
- const model = getEffectiveModel(customModel, false);
38
+ const model = resolveModel(customModel, false);
39
39
  expect(model).toBe(customModel);
40
40
  });
41
41
  describe('with preview features', () => {
42
42
  it('should return the preview model when pro alias is requested', () => {
43
- const model = getEffectiveModel(GEMINI_MODEL_ALIAS_PRO, true);
43
+ const model = resolveModel(GEMINI_MODEL_ALIAS_PRO, true);
44
44
  expect(model).toBe(PREVIEW_GEMINI_MODEL);
45
45
  });
46
46
  it('should return the default pro model when pro alias is requested and preview is off', () => {
47
- const model = getEffectiveModel(GEMINI_MODEL_ALIAS_PRO, false);
47
+ const model = resolveModel(GEMINI_MODEL_ALIAS_PRO, false);
48
48
  expect(model).toBe(DEFAULT_GEMINI_MODEL);
49
49
  });
50
50
  it('should return the flash model when flash is requested and preview is on', () => {
51
- const model = getEffectiveModel(GEMINI_MODEL_ALIAS_FLASH, true);
51
+ const model = resolveModel(GEMINI_MODEL_ALIAS_FLASH, true);
52
52
  expect(model).toBe(PREVIEW_GEMINI_FLASH_MODEL);
53
53
  });
54
54
  it('should return the flash model when lite is requested and preview is on', () => {
55
- const model = getEffectiveModel(GEMINI_MODEL_ALIAS_FLASH_LITE, true);
55
+ const model = resolveModel(GEMINI_MODEL_ALIAS_FLASH_LITE, true);
56
56
  expect(model).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
57
57
  });
58
58
  it('should return the flash model when the flash model name is explicitly requested and preview is on', () => {
59
- const model = getEffectiveModel(DEFAULT_GEMINI_FLASH_MODEL, true);
59
+ const model = resolveModel(DEFAULT_GEMINI_FLASH_MODEL, true);
60
60
  expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
61
61
  });
62
62
  it('should return the lite model when the lite model name is requested and preview is on', () => {
63
- const model = getEffectiveModel(DEFAULT_GEMINI_FLASH_LITE_MODEL, true);
63
+ const model = resolveModel(DEFAULT_GEMINI_FLASH_LITE_MODEL, true);
64
64
  expect(model).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
65
65
  });
66
66
  it('should return the default gemini model when the model is explicitly set and preview is on', () => {
67
- const model = getEffectiveModel(DEFAULT_GEMINI_MODEL, true);
67
+ const model = resolveModel(DEFAULT_GEMINI_MODEL, true);
68
68
  expect(model).toBe(DEFAULT_GEMINI_MODEL);
69
69
  });
70
70
  });
@@ -1 +1 @@
1
- {"version":3,"file":"models.test.js","sourceRoot":"","sources":["../../../src/config/models.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.test.js","sourceRoot":"","sources":["../../../src/config/models.test.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export interface UpdatePolicy {
36
36
  toolName: string;
37
37
  persist?: boolean;
38
38
  argsPattern?: string;
39
- commandPrefix?: string;
39
+ commandPrefix?: string | string[];
40
40
  mcpName?: string;
41
41
  }
42
42
  export interface ToolPolicyRejection {
@@ -46,7 +46,7 @@ export declare class GeminiClient {
46
46
  updateSystemInstruction(): Promise<void>;
47
47
  startChat(extraHistory?: Content[], resumedSessionData?: ResumedSessionData): Promise<GeminiChat>;
48
48
  private getIdeContextParts;
49
- private _getEffectiveModelForCurrentTurn;
49
+ private _getActiveModelForCurrentTurn;
50
50
  sendMessageStream(request: PartListUnion, signal: AbortSignal, prompt_id: string, turns?: number, isInvalidStreamRetry?: boolean): AsyncGenerator<ServerGeminiStreamEvent, Turn>;
51
51
  generateContent(modelConfigKey: ModelConfigKey, contents: Content[], abortSignal: AbortSignal): Promise<GenerateContentResponse>;
52
52
  tryCompressChat(prompt_id: string, force?: boolean): Promise<ChatCompressionInfo>;
@@ -282,7 +282,7 @@ export class GeminiClient {
282
282
  };
283
283
  }
284
284
  }
285
- _getEffectiveModelForCurrentTurn() {
285
+ _getActiveModelForCurrentTurn() {
286
286
  if (this.currentSequenceModel) {
287
287
  return this.currentSequenceModel;
288
288
  }
@@ -333,7 +333,7 @@ export class GeminiClient {
333
333
  return new Turn(this.getChat(), prompt_id);
334
334
  }
335
335
  // Check for context window overflow
336
- const modelForLimitCheck = this._getEffectiveModelForCurrentTurn();
336
+ const modelForLimitCheck = this._getActiveModelForCurrentTurn();
337
337
  // Estimate tokens. For text-only requests, we estimate based on character length.
338
338
  // For requests with non-text parts (like images, tools), we use the countTokens API.
339
339
  const estimatedRequestTokenCount = await calculateRequestTokenCount(request, this.getContentGeneratorOrFail(), modelForLimitCheck);
@@ -518,7 +518,7 @@ export class GeminiClient {
518
518
  // If the model is 'auto', we will use a placeholder model to check.
519
519
  // Compression occurs before we choose a model, so calling `count_tokens`
520
520
  // before the model is chosen would result in an error.
521
- const model = this._getEffectiveModelForCurrentTurn();
521
+ const model = this._getActiveModelForCurrentTurn();
522
522
  const { newHistory, info } = await this.compressionService.compress(this.getChat(), prompt_id, force, model, this.config, this.hasFailedCompressionAttempt);
523
523
  if (info.compressionStatus ===
524
524
  CompressionStatus.COMPRESSION_FAILED_INFLATED_TOKEN_COUNT) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { InstallationManager } from '../utils/installationManager.js';
11
11
  import { FakeContentGenerator } from './fakeContentGenerator.js';
12
12
  import { parseCustomHeaders } from '../utils/customHeaderUtils.js';
13
13
  import { RecordingContentGenerator } from './recordingContentGenerator.js';
14
- import { getVersion, getEffectiveModel } from '../../index.js';
14
+ import { getVersion, resolveModel } from '../../index.js';
15
15
  export var AuthType;
16
16
  (function (AuthType) {
17
17
  AuthType["LOGIN_WITH_GOOGLE"] = "oauth-personal";
@@ -55,7 +55,7 @@ export async function createContentGenerator(config, gcConfig, sessionId) {
55
55
  return FakeContentGenerator.fromFile(gcConfig.fakeResponses);
56
56
  }
57
57
  const version = await getVersion();
58
- const model = getEffectiveModel(gcConfig.getModel(), gcConfig.getPreviewFeatures());
58
+ const model = resolveModel(gcConfig.getModel(), gcConfig.getPreviewFeatures());
59
59
  const customHeadersEnv = process.env['GEMINI_CLI_CUSTOM_HEADERS'] || undefined;
60
60
  const userAgent = `GeminiCLI/${version}/${model} (${process.platform}; ${process.arch})`;
61
61
  const customHeadersMap = parseCustomHeaders(customHeadersEnv);
@@ -1 +1 @@
1
- {"version":3,"file":"contentGenerator.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contentGenerator.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.ts"],"names":[],"mappings":"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"}
@@ -3,82 +3,11 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { ToolCallRequestInfo, ToolCallResponseInfo, ToolCallConfirmationDetails, EditorType, Config, ToolConfirmationPayload, AnyDeclarativeTool, AnyToolInvocation, AnsiOutput } from '../index.js';
7
- import { ToolConfirmationOutcome } from '../index.js';
8
- import type { Part, PartListUnion } from '@google/genai';
9
- export type ValidatingToolCall = {
10
- status: 'validating';
11
- request: ToolCallRequestInfo;
12
- tool: AnyDeclarativeTool;
13
- invocation: AnyToolInvocation;
14
- startTime?: number;
15
- outcome?: ToolConfirmationOutcome;
16
- };
17
- export type ScheduledToolCall = {
18
- status: 'scheduled';
19
- request: ToolCallRequestInfo;
20
- tool: AnyDeclarativeTool;
21
- invocation: AnyToolInvocation;
22
- startTime?: number;
23
- outcome?: ToolConfirmationOutcome;
24
- };
25
- export type ErroredToolCall = {
26
- status: 'error';
27
- request: ToolCallRequestInfo;
28
- response: ToolCallResponseInfo;
29
- tool?: AnyDeclarativeTool;
30
- durationMs?: number;
31
- outcome?: ToolConfirmationOutcome;
32
- };
33
- export type SuccessfulToolCall = {
34
- status: 'success';
35
- request: ToolCallRequestInfo;
36
- tool: AnyDeclarativeTool;
37
- response: ToolCallResponseInfo;
38
- invocation: AnyToolInvocation;
39
- durationMs?: number;
40
- outcome?: ToolConfirmationOutcome;
41
- };
42
- export type ExecutingToolCall = {
43
- status: 'executing';
44
- request: ToolCallRequestInfo;
45
- tool: AnyDeclarativeTool;
46
- invocation: AnyToolInvocation;
47
- liveOutput?: string | AnsiOutput;
48
- startTime?: number;
49
- outcome?: ToolConfirmationOutcome;
50
- pid?: number;
51
- };
52
- export type CancelledToolCall = {
53
- status: 'cancelled';
54
- request: ToolCallRequestInfo;
55
- response: ToolCallResponseInfo;
56
- tool: AnyDeclarativeTool;
57
- invocation: AnyToolInvocation;
58
- durationMs?: number;
59
- outcome?: ToolConfirmationOutcome;
60
- };
61
- export type WaitingToolCall = {
62
- status: 'awaiting_approval';
63
- request: ToolCallRequestInfo;
64
- tool: AnyDeclarativeTool;
65
- invocation: AnyToolInvocation;
66
- confirmationDetails: ToolCallConfirmationDetails;
67
- startTime?: number;
68
- outcome?: ToolConfirmationOutcome;
69
- };
70
- export type Status = ToolCall['status'];
71
- export type ToolCall = ValidatingToolCall | ScheduledToolCall | ErroredToolCall | SuccessfulToolCall | ExecutingToolCall | CancelledToolCall | WaitingToolCall;
72
- export type CompletedToolCall = SuccessfulToolCall | CancelledToolCall | ErroredToolCall;
73
- export type ConfirmHandler = (toolCall: WaitingToolCall) => Promise<ToolConfirmationOutcome>;
74
- export type OutputUpdateHandler = (toolCallId: string, outputChunk: string | AnsiOutput) => void;
75
- export type AllToolCallsCompleteHandler = (completedToolCalls: CompletedToolCall[]) => Promise<void>;
76
- export type ToolCallsUpdateHandler = (toolCalls: ToolCall[]) => void;
77
- export declare function convertToFunctionResponse(toolName: string, callId: string, llmContent: PartListUnion, model: string): Part[];
78
- export declare function truncateAndSaveToFile(content: string, callId: string, projectTempDir: string, threshold: number, truncateLines: number): Promise<{
79
- content: string;
80
- outputFile?: string;
81
- }>;
6
+ import { type ToolConfirmationPayload, ToolConfirmationOutcome } from '../tools/tools.js';
7
+ import type { EditorType } from '../utils/editor.js';
8
+ import type { Config } from '../config/config.js';
9
+ import { type ToolCall, type ValidatingToolCall, type ScheduledToolCall, type ErroredToolCall, type SuccessfulToolCall, type ExecutingToolCall, type CancelledToolCall, type WaitingToolCall, type Status, type CompletedToolCall, type ConfirmHandler, type OutputUpdateHandler, type AllToolCallsCompleteHandler, type ToolCallsUpdateHandler, type ToolCallRequestInfo, type ToolCallResponseInfo } from '../scheduler/types.js';
10
+ export type { ToolCall, ValidatingToolCall, ScheduledToolCall, ErroredToolCall, SuccessfulToolCall, ExecutingToolCall, CancelledToolCall, WaitingToolCall, Status, CompletedToolCall, ConfirmHandler, OutputUpdateHandler, AllToolCallsCompleteHandler, ToolCallsUpdateHandler, ToolCallRequestInfo, ToolCallResponseInfo, };
82
11
  interface CoreToolSchedulerOptions {
83
12
  config: Config;
84
13
  outputUpdateHandler?: OutputUpdateHandler;
@@ -105,14 +34,6 @@ export declare class CoreToolScheduler {
105
34
  private setArgsInternal;
106
35
  private isRunning;
107
36
  private buildInvocation;
108
- /**
109
- * Generates a suggestion string for a tool name that was not found in the registry.
110
- * It finds the closest matches based on Levenshtein distance.
111
- * @param unknownToolName The tool name that was not found.
112
- * @param topN The number of suggestions to return. Defaults to 3.
113
- * @returns A suggestion string like " Did you mean 'tool'?" or " Did you mean one of: 'tool1', 'tool2'?", or an empty string if no suggestions are found.
114
- */
115
- private getToolSuggestion;
116
37
  schedule(request: ToolCallRequestInfo | ToolCallRequestInfo[], signal: AbortSignal): Promise<void>;
117
38
  cancelAll(signal: AbortSignal): void;
118
39
  private _schedule;
@@ -132,4 +53,3 @@ export declare class CoreToolScheduler {
132
53
  private setToolCallOutcome;
133
54
  private isAutoApproved;
134
55
  }
135
- export {};
@@ -3,115 +3,24 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ToolConfirmationOutcome, ApprovalMode, logToolCall, ToolErrorType, ToolCallEvent, logToolOutputTruncated, ToolOutputTruncatedEvent, runInDevTraceSpan, } from '../index.js';
7
- import { READ_FILE_TOOL_NAME, SHELL_TOOL_NAME } from '../tools/tool-names.js';
8
- import { supportsMultimodalFunctionResponse } from '../config/models.js';
6
+ import { ToolConfirmationOutcome, } from '../tools/tools.js';
7
+ import { ApprovalMode } from '../policy/types.js';
8
+ import { logToolCall, logToolOutputTruncated } from '../telemetry/loggers.js';
9
+ import { ToolErrorType } from '../tools/tool-error.js';
10
+ import { ToolCallEvent, ToolOutputTruncatedEvent } from '../telemetry/types.js';
11
+ import { runInDevTraceSpan } from '../telemetry/trace.js';
12
+ import { SHELL_TOOL_NAME } from '../tools/tool-names.js';
9
13
  import { isModifiableDeclarativeTool, modifyWithEditor, } from '../tools/modifiable-tool.js';
10
14
  import * as Diff from 'diff';
11
- import * as fs from 'node:fs/promises';
12
- import * as path from 'node:path';
13
15
  import { SHELL_TOOL_NAMES } from '../utils/shell-utils.js';
14
- import { doesToolInvocationMatch } from '../utils/tool-utils.js';
16
+ import { doesToolInvocationMatch, getToolSuggestion, } from '../utils/tool-utils.js';
15
17
  import { isShellInvocationAllowlisted } from '../utils/shell-permissions.js';
16
- import levenshtein from 'fast-levenshtein';
17
18
  import { ShellToolInvocation } from '../tools/shell.js';
18
19
  import { MessageBusType } from '../confirmation-bus/types.js';
19
20
  import { fireToolNotificationHook, executeToolWithHooks, } from './coreToolHookTriggers.js';
20
- import { debugLogger } from '../utils/debugLogger.js';
21
- /**
22
- * Formats tool output for a Gemini FunctionResponse.
23
- */
24
- function createFunctionResponsePart(callId, toolName, output) {
25
- return {
26
- functionResponse: {
27
- id: callId,
28
- name: toolName,
29
- response: { output },
30
- },
31
- };
32
- }
33
- export function convertToFunctionResponse(toolName, callId, llmContent, model) {
34
- if (typeof llmContent === 'string') {
35
- return [createFunctionResponsePart(callId, toolName, llmContent)];
36
- }
37
- const parts = toParts(llmContent);
38
- // Separate text from binary types
39
- const textParts = [];
40
- const inlineDataParts = [];
41
- const fileDataParts = [];
42
- for (const part of parts) {
43
- if (part.text !== undefined) {
44
- textParts.push(part.text);
45
- }
46
- else if (part.inlineData) {
47
- inlineDataParts.push(part);
48
- }
49
- else if (part.fileData) {
50
- fileDataParts.push(part);
51
- }
52
- else if (part.functionResponse) {
53
- if (parts.length > 1) {
54
- debugLogger.warn('convertToFunctionResponse received multiple parts with a functionResponse. Only the functionResponse will be used, other parts will be ignored');
55
- }
56
- // Handle passthrough case
57
- return [
58
- {
59
- functionResponse: {
60
- id: callId,
61
- name: toolName,
62
- response: part.functionResponse.response,
63
- },
64
- },
65
- ];
66
- }
67
- // Ignore other part types
68
- }
69
- // Build the primary response part
70
- const part = {
71
- functionResponse: {
72
- id: callId,
73
- name: toolName,
74
- response: textParts.length > 0 ? { output: textParts.join('\n') } : {},
75
- },
76
- };
77
- const isMultimodalFRSupported = supportsMultimodalFunctionResponse(model);
78
- const siblingParts = [...fileDataParts];
79
- if (inlineDataParts.length > 0) {
80
- if (isMultimodalFRSupported) {
81
- // Nest inlineData if supported by the model
82
- part.functionResponse.parts =
83
- inlineDataParts;
84
- }
85
- else {
86
- // Otherwise treat as siblings
87
- siblingParts.push(...inlineDataParts);
88
- }
89
- }
90
- // Add descriptive text if the response object is empty but we have binary content
91
- if (textParts.length === 0 &&
92
- (inlineDataParts.length > 0 || fileDataParts.length > 0)) {
93
- const totalBinaryItems = inlineDataParts.length + fileDataParts.length;
94
- part.functionResponse.response = {
95
- output: `Binary content provided (${totalBinaryItems} item(s)).`,
96
- };
97
- }
98
- if (siblingParts.length > 0) {
99
- return [part, ...siblingParts];
100
- }
101
- return [part];
102
- }
103
- function toParts(input) {
104
- const parts = [];
105
- for (const part of Array.isArray(input) ? input : [input]) {
106
- if (typeof part === 'string') {
107
- parts.push({ text: part });
108
- }
109
- else if (part) {
110
- parts.push(part);
111
- }
112
- }
113
- return parts;
114
- }
21
+ import {} from '../scheduler/types.js';
22
+ import { saveTruncatedContent } from '../utils/fileUtils.js';
23
+ import { convertToFunctionResponse } from '../utils/generateContentResponseUtilities.js';
115
24
  const createErrorResponse = (request, error, errorType) => ({
116
25
  callId: request.callId,
117
26
  error,
@@ -128,58 +37,6 @@ const createErrorResponse = (request, error, errorType) => ({
128
37
  errorType,
129
38
  contentLength: error.message.length,
130
39
  });
131
- export async function truncateAndSaveToFile(content, callId, projectTempDir, threshold, truncateLines) {
132
- if (content.length <= threshold) {
133
- return { content };
134
- }
135
- let lines = content.split('\n');
136
- let fileContent = content;
137
- // If the content is long but has few lines, wrap it to enable line-based truncation.
138
- if (lines.length <= truncateLines) {
139
- const wrapWidth = 120; // A reasonable width for wrapping.
140
- const wrappedLines = [];
141
- for (const line of lines) {
142
- if (line.length > wrapWidth) {
143
- for (let i = 0; i < line.length; i += wrapWidth) {
144
- wrappedLines.push(line.substring(i, i + wrapWidth));
145
- }
146
- }
147
- else {
148
- wrappedLines.push(line);
149
- }
150
- }
151
- lines = wrappedLines;
152
- fileContent = lines.join('\n');
153
- }
154
- const head = Math.floor(truncateLines / 5);
155
- const beginning = lines.slice(0, head);
156
- const end = lines.slice(-(truncateLines - head));
157
- const truncatedContent = beginning.join('\n') + '\n... [CONTENT TRUNCATED] ...\n' + end.join('\n');
158
- // Sanitize callId to prevent path traversal.
159
- const safeFileName = `${path.basename(callId)}.output`;
160
- const outputFile = path.join(projectTempDir, safeFileName);
161
- try {
162
- await fs.writeFile(outputFile, fileContent);
163
- return {
164
- content: `Tool output was too large and has been truncated.
165
- The full output has been saved to: ${outputFile}
166
- To read the complete output, use the ${READ_FILE_TOOL_NAME} tool with the absolute file path above. For large files, you can use the offset and limit parameters to read specific sections:
167
- - ${READ_FILE_TOOL_NAME} tool with offset=0, limit=100 to see the first 100 lines
168
- - ${READ_FILE_TOOL_NAME} tool with offset=N to skip N lines from the beginning
169
- - ${READ_FILE_TOOL_NAME} tool with limit=M to read only M lines at a time
170
- The truncated output below shows the beginning and end of the content. The marker '... [CONTENT TRUNCATED] ...' indicates where content was removed.
171
- This allows you to efficiently examine different parts of the output without loading the entire file.
172
- Truncated part of the output:
173
- ${truncatedContent}`,
174
- outputFile,
175
- };
176
- }
177
- catch (_error) {
178
- return {
179
- content: truncatedContent + `\n[Note: Could not save full output to file]`,
180
- };
181
- }
182
- }
183
40
  export class CoreToolScheduler {
184
41
  // Static WeakMap to track which MessageBus instances already have a handler subscribed
185
42
  // This prevents duplicate subscriptions when multiple CoreToolScheduler instances are created
@@ -398,34 +255,6 @@ export class CoreToolScheduler {
398
255
  return new Error(String(e));
399
256
  }
400
257
  }
401
- /**
402
- * Generates a suggestion string for a tool name that was not found in the registry.
403
- * It finds the closest matches based on Levenshtein distance.
404
- * @param unknownToolName The tool name that was not found.
405
- * @param topN The number of suggestions to return. Defaults to 3.
406
- * @returns A suggestion string like " Did you mean 'tool'?" or " Did you mean one of: 'tool1', 'tool2'?", or an empty string if no suggestions are found.
407
- */
408
- getToolSuggestion(unknownToolName, topN = 3) {
409
- const allToolNames = this.config.getToolRegistry().getAllToolNames();
410
- const matches = allToolNames.map((toolName) => ({
411
- name: toolName,
412
- distance: levenshtein.get(unknownToolName, toolName),
413
- }));
414
- matches.sort((a, b) => a.distance - b.distance);
415
- const topNResults = matches.slice(0, topN);
416
- if (topNResults.length === 0) {
417
- return '';
418
- }
419
- const suggestedNames = topNResults
420
- .map((match) => `"${match.name}"`)
421
- .join(', ');
422
- if (topNResults.length > 1) {
423
- return ` Did you mean one of: ${suggestedNames}?`;
424
- }
425
- else {
426
- return ` Did you mean ${suggestedNames}?`;
427
- }
428
- }
429
258
  schedule(request, signal) {
430
259
  return runInDevTraceSpan({ name: 'schedule' }, async ({ metadata: spanMetadata }) => {
431
260
  spanMetadata.input = request;
@@ -492,7 +321,7 @@ export class CoreToolScheduler {
492
321
  .getToolRegistry()
493
322
  .getTool(reqInfo.name);
494
323
  if (!toolInstance) {
495
- const suggestion = this.getToolSuggestion(reqInfo.name);
324
+ const suggestion = getToolSuggestion(reqInfo.name, this.config.getToolRegistry().getAllToolNames());
496
325
  const errorMessage = `Tool "${reqInfo.name}" not found in registry. Tools must use the exact names that are registered.${suggestion}`;
497
326
  return {
498
327
  status: 'error',
@@ -754,7 +583,7 @@ export class CoreToolScheduler {
754
583
  const originalContentLength = content.length;
755
584
  const threshold = this.config.getTruncateToolOutputThreshold();
756
585
  const lines = this.config.getTruncateToolOutputLines();
757
- const truncatedResult = await truncateAndSaveToFile(content, callId, this.config.storage.getProjectTempDir(), threshold, lines);
586
+ const truncatedResult = await saveTruncatedContent(content, callId, this.config.storage.getProjectTempDir(), threshold, lines);
758
587
  content = truncatedResult.content;
759
588
  outputFile = truncatedResult.outputFile;
760
589
  if (outputFile) {