@google/gemini-cli-core 0.32.0-preview.0 → 0.33.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 (216) hide show
  1. package/README.md +11 -9
  2. package/dist/docs/CONTRIBUTING.md +7 -4
  3. package/dist/docs/changelogs/index.md +24 -2
  4. package/dist/docs/changelogs/latest.md +389 -310
  5. package/dist/docs/changelogs/preview.md +186 -394
  6. package/dist/docs/cli/cli-reference.md +12 -12
  7. package/dist/docs/cli/custom-commands.md +9 -0
  8. package/dist/docs/cli/enterprise.md +19 -0
  9. package/dist/docs/cli/model.md +5 -14
  10. package/dist/docs/cli/plan-mode.md +38 -7
  11. package/dist/docs/cli/sandbox.md +42 -2
  12. package/dist/docs/cli/session-management.md +16 -7
  13. package/dist/docs/cli/settings.md +10 -10
  14. package/dist/docs/cli/telemetry.md +29 -0
  15. package/dist/docs/cli/tutorials/automation.md +101 -5
  16. package/dist/docs/cli/tutorials/mcp-setup.md +8 -0
  17. package/dist/docs/cli/tutorials/skills-getting-started.md +8 -0
  18. package/dist/docs/extensions/reference.md +9 -1
  19. package/dist/docs/extensions/writing-extensions.md +16 -0
  20. package/dist/docs/get-started/authentication.md +86 -5
  21. package/dist/docs/get-started/installation.md +1 -1
  22. package/dist/docs/hooks/best-practices.md +33 -1
  23. package/dist/docs/hooks/writing-hooks.md +24 -0
  24. package/dist/docs/ide-integration/index.md +8 -0
  25. package/dist/docs/reference/commands.md +3 -0
  26. package/dist/docs/reference/configuration.md +19 -15
  27. package/dist/docs/reference/keyboard-shortcuts.md +10 -0
  28. package/dist/docs/reference/policy-engine.md +10 -0
  29. package/dist/docs/resources/faq.md +8 -0
  30. package/dist/docs/resources/troubleshooting.md +4 -1
  31. package/dist/docs/sidebar.json +8 -1
  32. package/dist/src/agents/a2aUtils.d.ts +2 -0
  33. package/dist/src/agents/a2aUtils.js +12 -0
  34. package/dist/src/agents/a2aUtils.js.map +1 -1
  35. package/dist/src/agents/a2aUtils.test.js +50 -1
  36. package/dist/src/agents/a2aUtils.test.js.map +1 -1
  37. package/dist/src/agents/agentLoader.d.ts +2 -1
  38. package/dist/src/agents/agentLoader.js +17 -4
  39. package/dist/src/agents/agentLoader.js.map +1 -1
  40. package/dist/src/agents/agentLoader.test.js +46 -0
  41. package/dist/src/agents/agentLoader.test.js.map +1 -1
  42. package/dist/src/agents/auth-provider/factory.js +6 -3
  43. package/dist/src/agents/auth-provider/factory.js.map +1 -1
  44. package/dist/src/agents/auth-provider/http-provider.d.ts +28 -0
  45. package/dist/src/agents/auth-provider/http-provider.js +73 -0
  46. package/dist/src/agents/auth-provider/http-provider.js.map +1 -0
  47. package/dist/src/agents/auth-provider/http-provider.test.d.ts +6 -0
  48. package/dist/src/agents/auth-provider/http-provider.test.js +112 -0
  49. package/dist/src/agents/auth-provider/http-provider.test.js.map +1 -0
  50. package/dist/src/agents/auth-provider/types.d.ts +5 -0
  51. package/dist/src/agents/browser/browserAgentInvocation.d.ts +2 -3
  52. package/dist/src/agents/browser/browserAgentInvocation.js +1 -1
  53. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  54. package/dist/src/agents/local-executor.js +36 -7
  55. package/dist/src/agents/local-executor.js.map +1 -1
  56. package/dist/src/agents/local-executor.test.js +18 -13
  57. package/dist/src/agents/local-executor.test.js.map +1 -1
  58. package/dist/src/agents/local-invocation.d.ts +3 -4
  59. package/dist/src/agents/local-invocation.js +164 -11
  60. package/dist/src/agents/local-invocation.js.map +1 -1
  61. package/dist/src/agents/local-invocation.test.js +49 -29
  62. package/dist/src/agents/local-invocation.test.js.map +1 -1
  63. package/dist/src/agents/registry.js +66 -12
  64. package/dist/src/agents/registry.js.map +1 -1
  65. package/dist/src/agents/registry.test.js +220 -0
  66. package/dist/src/agents/registry.test.js.map +1 -1
  67. package/dist/src/agents/remote-invocation.d.ts +2 -1
  68. package/dist/src/agents/remote-invocation.js +20 -2
  69. package/dist/src/agents/remote-invocation.js.map +1 -1
  70. package/dist/src/agents/remote-invocation.test.js +62 -10
  71. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  72. package/dist/src/agents/subagent-tool.js.map +1 -1
  73. package/dist/src/agents/subagent-tool.test.js +7 -0
  74. package/dist/src/agents/subagent-tool.test.js.map +1 -1
  75. package/dist/src/agents/types.d.ts +18 -0
  76. package/dist/src/agents/types.js +6 -0
  77. package/dist/src/agents/types.js.map +1 -1
  78. package/dist/src/code_assist/server.js.map +1 -1
  79. package/dist/src/config/config.d.ts +11 -4
  80. package/dist/src/config/config.js +23 -47
  81. package/dist/src/config/config.js.map +1 -1
  82. package/dist/src/config/config.test.js +29 -101
  83. package/dist/src/config/config.test.js.map +1 -1
  84. package/dist/src/core/client.js +5 -3
  85. package/dist/src/core/client.js.map +1 -1
  86. package/dist/src/core/client.test.js +47 -7
  87. package/dist/src/core/client.test.js.map +1 -1
  88. package/dist/src/core/coreToolHookTriggers.d.ts +3 -3
  89. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  90. package/dist/src/core/coreToolScheduler.js +38 -22
  91. package/dist/src/core/coreToolScheduler.js.map +1 -1
  92. package/dist/src/core/geminiChat.d.ts +2 -2
  93. package/dist/src/core/geminiChat.js +3 -0
  94. package/dist/src/core/geminiChat.js.map +1 -1
  95. package/dist/src/core/loggingContentGenerator.d.ts +1 -0
  96. package/dist/src/core/loggingContentGenerator.js +31 -1
  97. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  98. package/dist/src/core/loggingContentGenerator.test.js +94 -0
  99. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  100. package/dist/src/generated/git-commit.d.ts +2 -2
  101. package/dist/src/generated/git-commit.js +2 -2
  102. package/dist/src/hooks/hookRunner.js +30 -4
  103. package/dist/src/hooks/hookRunner.js.map +1 -1
  104. package/dist/src/index.d.ts +1 -0
  105. package/dist/src/index.js +1 -0
  106. package/dist/src/index.js.map +1 -1
  107. package/dist/src/mcp/mcp-oauth-provider.d.ts +43 -0
  108. package/dist/src/mcp/mcp-oauth-provider.js +67 -0
  109. package/dist/src/mcp/mcp-oauth-provider.js.map +1 -0
  110. package/dist/src/mcp/mcp-oauth-provider.test.d.ts +6 -0
  111. package/dist/src/mcp/mcp-oauth-provider.test.js +63 -0
  112. package/dist/src/mcp/mcp-oauth-provider.test.js.map +1 -0
  113. package/dist/src/policy/config.d.ts +1 -1
  114. package/dist/src/policy/config.js +4 -3
  115. package/dist/src/policy/config.js.map +1 -1
  116. package/dist/src/policy/policies/plan.toml +50 -13
  117. package/dist/src/policy/policies/read-only.toml +12 -11
  118. package/dist/src/policy/policies/write.toml +12 -11
  119. package/dist/src/policy/policies/yolo.toml +21 -11
  120. package/dist/src/policy/policy-engine.test.js +62 -2
  121. package/dist/src/policy/policy-engine.test.js.map +1 -1
  122. package/dist/src/policy/toml-loader.d.ts +19 -1
  123. package/dist/src/policy/toml-loader.js +127 -0
  124. package/dist/src/policy/toml-loader.js.map +1 -1
  125. package/dist/src/policy/toml-loader.test.js +218 -14
  126. package/dist/src/policy/toml-loader.test.js.map +1 -1
  127. package/dist/src/prompts/snippets.js +7 -7
  128. package/dist/src/prompts/snippets.js.map +1 -1
  129. package/dist/src/scheduler/scheduler.js +1 -1
  130. package/dist/src/scheduler/scheduler.js.map +1 -1
  131. package/dist/src/scheduler/scheduler.test.js +1 -1
  132. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  133. package/dist/src/scheduler/state-manager.d.ts +1 -2
  134. package/dist/src/scheduler/state-manager.js +19 -10
  135. package/dist/src/scheduler/state-manager.js.map +1 -1
  136. package/dist/src/scheduler/tool-executor.d.ts +3 -2
  137. package/dist/src/scheduler/tool-executor.js +89 -32
  138. package/dist/src/scheduler/tool-executor.js.map +1 -1
  139. package/dist/src/scheduler/tool-executor.test.js +191 -0
  140. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  141. package/dist/src/scheduler/types.d.ts +3 -4
  142. package/dist/src/services/chatRecordingService.js +12 -0
  143. package/dist/src/services/chatRecordingService.js.map +1 -1
  144. package/dist/src/services/chatRecordingService.test.js +15 -4
  145. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  146. package/dist/src/services/loopDetectionService.d.ts +2 -1
  147. package/dist/src/services/loopDetectionService.js +49 -11
  148. package/dist/src/services/loopDetectionService.js.map +1 -1
  149. package/dist/src/services/loopDetectionService.test.js +63 -22
  150. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  151. package/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +35 -10
  152. package/dist/src/tools/ask-user.d.ts +1 -0
  153. package/dist/src/tools/ask-user.js +2 -1
  154. package/dist/src/tools/ask-user.js.map +1 -1
  155. package/dist/src/tools/definitions/base-declarations.d.ts +51 -0
  156. package/dist/src/tools/definitions/base-declarations.js +75 -1
  157. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  158. package/dist/src/tools/definitions/coreTools.d.ts +1 -1
  159. package/dist/src/tools/definitions/coreTools.js +5 -1
  160. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  161. package/dist/src/tools/definitions/dynamic-declaration-helpers.js +14 -12
  162. package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
  163. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +97 -81
  164. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  165. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +99 -82
  166. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  167. package/dist/src/tools/enter-plan-mode.d.ts +1 -0
  168. package/dist/src/tools/enter-plan-mode.js +2 -1
  169. package/dist/src/tools/enter-plan-mode.js.map +1 -1
  170. package/dist/src/tools/exit-plan-mode.d.ts +1 -0
  171. package/dist/src/tools/exit-plan-mode.js +2 -1
  172. package/dist/src/tools/exit-plan-mode.js.map +1 -1
  173. package/dist/src/tools/mcp-client.d.ts +6 -0
  174. package/dist/src/tools/mcp-client.js +14 -0
  175. package/dist/src/tools/mcp-client.js.map +1 -1
  176. package/dist/src/tools/mcp-tool.js +20 -9
  177. package/dist/src/tools/mcp-tool.js.map +1 -1
  178. package/dist/src/tools/mcp-tool.test.js +48 -1
  179. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  180. package/dist/src/tools/read-file.test.js +7 -0
  181. package/dist/src/tools/read-file.test.js.map +1 -1
  182. package/dist/src/tools/shell.d.ts +2 -3
  183. package/dist/src/tools/shell.js +10 -9
  184. package/dist/src/tools/shell.js.map +1 -1
  185. package/dist/src/tools/tool-names.d.ts +2 -2
  186. package/dist/src/tools/tool-names.js +14 -4
  187. package/dist/src/tools/tool-names.js.map +1 -1
  188. package/dist/src/tools/tool-names.test.js +2 -0
  189. package/dist/src/tools/tool-names.test.js.map +1 -1
  190. package/dist/src/tools/tool-registry.d.ts +3 -2
  191. package/dist/src/tools/tool-registry.js +41 -5
  192. package/dist/src/tools/tool-registry.js.map +1 -1
  193. package/dist/src/tools/tool-registry.test.js +42 -7
  194. package/dist/src/tools/tool-registry.test.js.map +1 -1
  195. package/dist/src/tools/tools.d.ts +6 -4
  196. package/dist/src/tools/tools.js.map +1 -1
  197. package/dist/src/utils/constants.d.ts +3 -0
  198. package/dist/src/utils/constants.js +3 -0
  199. package/dist/src/utils/constants.js.map +1 -1
  200. package/dist/src/utils/errors.d.ts +4 -0
  201. package/dist/src/utils/errors.js +6 -0
  202. package/dist/src/utils/errors.js.map +1 -1
  203. package/dist/src/utils/errors.test.js +20 -1
  204. package/dist/src/utils/errors.test.js.map +1 -1
  205. package/dist/src/utils/fetch.js +1 -1
  206. package/dist/src/utils/fetch.js.map +1 -1
  207. package/dist/src/utils/fileUtils.d.ts +0 -1
  208. package/dist/src/utils/fileUtils.js +5 -7
  209. package/dist/src/utils/fileUtils.js.map +1 -1
  210. package/dist/src/utils/tool-utils.d.ts +11 -4
  211. package/dist/src/utils/tool-utils.js +18 -5
  212. package/dist/src/utils/tool-utils.js.map +1 -1
  213. package/dist/src/utils/tool-utils.test.js +8 -0
  214. package/dist/src/utils/tool-utils.test.js.map +1 -1
  215. package/dist/tsconfig.tsbuildinfo +1 -1
  216. package/package.json +1 -1
@@ -3,32 +3,37 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { GLOB_TOOL_NAME, GREP_TOOL_NAME, LS_TOOL_NAME, READ_FILE_TOOL_NAME, WRITE_FILE_TOOL_NAME, EDIT_TOOL_NAME, WEB_SEARCH_TOOL_NAME, WRITE_TODOS_TOOL_NAME, WEB_FETCH_TOOL_NAME, READ_MANY_FILES_TOOL_NAME, MEMORY_TOOL_NAME, GET_INTERNAL_DOCS_TOOL_NAME, ASK_USER_TOOL_NAME, ENTER_PLAN_MODE_TOOL_NAME, } from '../base-declarations.js';
6
+ import { GLOB_TOOL_NAME, GREP_TOOL_NAME, LS_TOOL_NAME, READ_FILE_TOOL_NAME, WRITE_FILE_TOOL_NAME, EDIT_TOOL_NAME, WEB_SEARCH_TOOL_NAME, WRITE_TODOS_TOOL_NAME, WEB_FETCH_TOOL_NAME, READ_MANY_FILES_TOOL_NAME, MEMORY_TOOL_NAME, GET_INTERNAL_DOCS_TOOL_NAME, ASK_USER_TOOL_NAME, ENTER_PLAN_MODE_TOOL_NAME,
7
+ // Shared parameter names
8
+ PARAM_FILE_PATH, PARAM_DIR_PATH, PARAM_PATTERN, PARAM_CASE_SENSITIVE, PARAM_RESPECT_GIT_IGNORE, PARAM_RESPECT_GEMINI_IGNORE, PARAM_FILE_FILTERING_OPTIONS,
9
+ // Tool-specific parameter names
10
+ READ_FILE_PARAM_START_LINE, READ_FILE_PARAM_END_LINE, WRITE_FILE_PARAM_CONTENT, GREP_PARAM_INCLUDE_PATTERN, GREP_PARAM_EXCLUDE_PATTERN, GREP_PARAM_NAMES_ONLY, GREP_PARAM_MAX_MATCHES_PER_FILE, GREP_PARAM_TOTAL_MAX_MATCHES, GREP_PARAM_FIXED_STRINGS, GREP_PARAM_CONTEXT, GREP_PARAM_AFTER, GREP_PARAM_BEFORE, GREP_PARAM_NO_IGNORE, EDIT_PARAM_INSTRUCTION, EDIT_PARAM_OLD_STRING, EDIT_PARAM_NEW_STRING, EDIT_PARAM_ALLOW_MULTIPLE, LS_PARAM_IGNORE, WEB_SEARCH_PARAM_QUERY, WEB_FETCH_PARAM_PROMPT, READ_MANY_PARAM_INCLUDE, READ_MANY_PARAM_EXCLUDE, READ_MANY_PARAM_RECURSIVE, READ_MANY_PARAM_USE_DEFAULT_EXCLUDES, MEMORY_PARAM_FACT, TODOS_PARAM_TODOS, TODOS_ITEM_PARAM_DESCRIPTION, TODOS_ITEM_PARAM_STATUS, DOCS_PARAM_PATH, ASK_USER_PARAM_QUESTIONS, ASK_USER_QUESTION_PARAM_QUESTION, ASK_USER_QUESTION_PARAM_HEADER, ASK_USER_QUESTION_PARAM_TYPE, ASK_USER_QUESTION_PARAM_OPTIONS, ASK_USER_QUESTION_PARAM_MULTI_SELECT, ASK_USER_QUESTION_PARAM_PLACEHOLDER, ASK_USER_OPTION_PARAM_LABEL, ASK_USER_OPTION_PARAM_DESCRIPTION, PLAN_MODE_PARAM_REASON, } from '../base-declarations.js';
7
11
  import { getShellDeclaration, getExitPlanModeDeclaration, getActivateSkillDeclaration, } from '../dynamic-declaration-helpers.js';
12
+ import { DEFAULT_MAX_LINES_TEXT_FILE, MAX_LINE_LENGTH_TEXT_FILE, MAX_FILE_SIZE_MB, } from '../../../utils/constants.js';
8
13
  /**
9
14
  * Gemini 3 tool set. Initially a copy of the default legacy set.
10
15
  */
11
16
  export const GEMINI_3_SET = {
12
17
  read_file: {
13
18
  name: READ_FILE_TOOL_NAME,
14
- description: `Reads and returns the content of a specified file. If the file is large, the content will be truncated. The tool's response will clearly indicate if truncation has occurred and will provide details on how to read more of the file using the 'start_line' and 'end_line' parameters. Handles text, images (PNG, JPG, GIF, WEBP, SVG, BMP), audio files (MP3, WAV, AIFF, AAC, OGG, FLAC), and PDF files. For text files, it can read specific line ranges.`,
19
+ description: `Reads and returns the content of a specified file. To maintain context efficiency, you MUST use 'start_line' and 'end_line' for targeted, surgical reads of specific sections. For your safety, the tool will automatically truncate output exceeding ${DEFAULT_MAX_LINES_TEXT_FILE} lines, ${MAX_LINE_LENGTH_TEXT_FILE} characters per line, or ${MAX_FILE_SIZE_MB}MB in size; however, triggering these limits is considered token-inefficient. Always retrieve only the minimum content necessary for your next step. Handles text, images (PNG, JPG, GIF, WEBP, SVG, BMP), audio files (MP3, WAV, AIFF, AAC, OGG, FLAC), and PDF files.`,
15
20
  parametersJsonSchema: {
16
21
  type: 'object',
17
22
  properties: {
18
- file_path: {
23
+ [PARAM_FILE_PATH]: {
19
24
  description: 'The path to the file to read.',
20
25
  type: 'string',
21
26
  },
22
- start_line: {
27
+ [READ_FILE_PARAM_START_LINE]: {
23
28
  description: 'Optional: The 1-based line number to start reading from.',
24
29
  type: 'number',
25
30
  },
26
- end_line: {
31
+ [READ_FILE_PARAM_END_LINE]: {
27
32
  description: 'Optional: The 1-based line number to end reading at (inclusive).',
28
33
  type: 'number',
29
34
  },
30
35
  },
31
- required: ['file_path'],
36
+ required: [PARAM_FILE_PATH],
32
37
  },
33
38
  },
34
39
  write_file: {
@@ -37,16 +42,16 @@ export const GEMINI_3_SET = {
37
42
  parametersJsonSchema: {
38
43
  type: 'object',
39
44
  properties: {
40
- file_path: {
45
+ [PARAM_FILE_PATH]: {
41
46
  description: 'Path to the file.',
42
47
  type: 'string',
43
48
  },
44
- content: {
49
+ [WRITE_FILE_PARAM_CONTENT]: {
45
50
  description: "The complete content to write. Provide the full file; do not use placeholders like '// ... rest of code'.",
46
51
  type: 'string',
47
52
  },
48
53
  },
49
- required: ['file_path', 'content'],
54
+ required: [PARAM_FILE_PATH, WRITE_FILE_PARAM_CONTENT],
50
55
  },
51
56
  },
52
57
  grep_search: {
@@ -55,38 +60,38 @@ export const GEMINI_3_SET = {
55
60
  parametersJsonSchema: {
56
61
  type: 'object',
57
62
  properties: {
58
- pattern: {
63
+ [PARAM_PATTERN]: {
59
64
  description: `The regular expression (regex) pattern to search for within file contents (e.g., 'function\\s+myFunction', 'import\\s+\\{.*\\}\\s+from\\s+.*').`,
60
65
  type: 'string',
61
66
  },
62
- dir_path: {
67
+ [PARAM_DIR_PATH]: {
63
68
  description: 'Optional: The absolute path to the directory to search within. If omitted, searches the current working directory.',
64
69
  type: 'string',
65
70
  },
66
- include_pattern: {
71
+ [GREP_PARAM_INCLUDE_PATTERN]: {
67
72
  description: `Optional: A glob pattern to filter which files are searched (e.g., '*.js', '*.{ts,tsx}', 'src/**'). If omitted, searches all files (respecting potential global ignores).`,
68
73
  type: 'string',
69
74
  },
70
- exclude_pattern: {
75
+ [GREP_PARAM_EXCLUDE_PATTERN]: {
71
76
  description: 'Optional: A regular expression pattern to exclude from the search results. If a line matches both the pattern and the exclude_pattern, it will be omitted.',
72
77
  type: 'string',
73
78
  },
74
- names_only: {
79
+ [GREP_PARAM_NAMES_ONLY]: {
75
80
  description: 'Optional: If true, only the file paths of the matches will be returned, without the line content or line numbers. This is useful for gathering a list of files.',
76
81
  type: 'boolean',
77
82
  },
78
- max_matches_per_file: {
83
+ [GREP_PARAM_MAX_MATCHES_PER_FILE]: {
79
84
  description: 'Optional: Maximum number of matches to return per file. Use this to prevent being overwhelmed by repetitive matches in large files.',
80
85
  type: 'integer',
81
86
  minimum: 1,
82
87
  },
83
- total_max_matches: {
88
+ [GREP_PARAM_TOTAL_MAX_MATCHES]: {
84
89
  description: 'Optional: Maximum number of total matches to return. Use this to limit the overall size of the response. Defaults to 100 if omitted.',
85
90
  type: 'integer',
86
91
  minimum: 1,
87
92
  },
88
93
  },
89
- required: ['pattern'],
94
+ required: [PARAM_PATTERN],
90
95
  },
91
96
  },
92
97
  grep_search_ripgrep: {
@@ -95,64 +100,64 @@ export const GEMINI_3_SET = {
95
100
  parametersJsonSchema: {
96
101
  type: 'object',
97
102
  properties: {
98
- pattern: {
103
+ [PARAM_PATTERN]: {
99
104
  description: `The pattern to search for. By default, treated as a Rust-flavored regular expression. Use '\\b' for precise symbol matching (e.g., '\\bMatchMe\\b').`,
100
105
  type: 'string',
101
106
  },
102
- dir_path: {
107
+ [PARAM_DIR_PATH]: {
103
108
  description: "Directory or file to search. Directories are searched recursively. Relative paths are resolved against current working directory. Defaults to current working directory ('.') if omitted.",
104
109
  type: 'string',
105
110
  },
106
- include_pattern: {
111
+ [GREP_PARAM_INCLUDE_PATTERN]: {
107
112
  description: "Glob pattern to filter files (e.g., '*.ts', 'src/**'). Recommended for large repositories to reduce noise. Defaults to all files if omitted.",
108
113
  type: 'string',
109
114
  },
110
- exclude_pattern: {
115
+ [GREP_PARAM_EXCLUDE_PATTERN]: {
111
116
  description: 'Optional: A regular expression pattern to exclude from the search results. If a line matches both the pattern and the exclude_pattern, it will be omitted.',
112
117
  type: 'string',
113
118
  },
114
- names_only: {
119
+ [GREP_PARAM_NAMES_ONLY]: {
115
120
  description: 'Optional: If true, only the file paths of the matches will be returned, without the line content or line numbers. This is useful for gathering a list of files.',
116
121
  type: 'boolean',
117
122
  },
118
- case_sensitive: {
123
+ [PARAM_CASE_SENSITIVE]: {
119
124
  description: 'If true, search is case-sensitive. Defaults to false (ignore case) if omitted.',
120
125
  type: 'boolean',
121
126
  },
122
- fixed_strings: {
127
+ [GREP_PARAM_FIXED_STRINGS]: {
123
128
  description: 'If true, treats the `pattern` as a literal string instead of a regular expression. Defaults to false (basic regex) if omitted.',
124
129
  type: 'boolean',
125
130
  },
126
- context: {
131
+ [GREP_PARAM_CONTEXT]: {
127
132
  description: 'Show this many lines of context around each match (equivalent to grep -C). Defaults to 0 if omitted.',
128
133
  type: 'integer',
129
134
  },
130
- after: {
135
+ [GREP_PARAM_AFTER]: {
131
136
  description: 'Show this many lines after each match (equivalent to grep -A). Defaults to 0 if omitted.',
132
137
  type: 'integer',
133
138
  minimum: 0,
134
139
  },
135
- before: {
140
+ [GREP_PARAM_BEFORE]: {
136
141
  description: 'Show this many lines before each match (equivalent to grep -B). Defaults to 0 if omitted.',
137
142
  type: 'integer',
138
143
  minimum: 0,
139
144
  },
140
- no_ignore: {
145
+ [GREP_PARAM_NO_IGNORE]: {
141
146
  description: 'If true, searches all files including those usually ignored (like in .gitignore, build/, dist/, etc). Defaults to false if omitted.',
142
147
  type: 'boolean',
143
148
  },
144
- max_matches_per_file: {
149
+ [GREP_PARAM_MAX_MATCHES_PER_FILE]: {
145
150
  description: 'Optional: Maximum number of matches to return per file. Use this to prevent being overwhelmed by repetitive matches in large files.',
146
151
  type: 'integer',
147
152
  minimum: 1,
148
153
  },
149
- total_max_matches: {
154
+ [GREP_PARAM_TOTAL_MAX_MATCHES]: {
150
155
  description: 'Optional: Maximum number of total matches to return. Use this to limit the overall size of the response. Defaults to 100 if omitted.',
151
156
  type: 'integer',
152
157
  minimum: 1,
153
158
  },
154
159
  },
155
- required: ['pattern'],
160
+ required: [PARAM_PATTERN],
156
161
  },
157
162
  },
158
163
  glob: {
@@ -161,28 +166,28 @@ export const GEMINI_3_SET = {
161
166
  parametersJsonSchema: {
162
167
  type: 'object',
163
168
  properties: {
164
- pattern: {
169
+ [PARAM_PATTERN]: {
165
170
  description: "The glob pattern to match against (e.g., '**/*.py', 'docs/*.md').",
166
171
  type: 'string',
167
172
  },
168
- dir_path: {
173
+ [PARAM_DIR_PATH]: {
169
174
  description: 'Optional: The absolute path to the directory to search within. If omitted, searches the root directory.',
170
175
  type: 'string',
171
176
  },
172
- case_sensitive: {
177
+ [PARAM_CASE_SENSITIVE]: {
173
178
  description: 'Optional: Whether the search should be case-sensitive. Defaults to false.',
174
179
  type: 'boolean',
175
180
  },
176
- respect_git_ignore: {
181
+ [PARAM_RESPECT_GIT_IGNORE]: {
177
182
  description: 'Optional: Whether to respect .gitignore patterns when finding files. Only available in git repositories. Defaults to true.',
178
183
  type: 'boolean',
179
184
  },
180
- respect_gemini_ignore: {
185
+ [PARAM_RESPECT_GEMINI_IGNORE]: {
181
186
  description: 'Optional: Whether to respect .geminiignore patterns when finding files. Defaults to true.',
182
187
  type: 'boolean',
183
188
  },
184
189
  },
185
- required: ['pattern'],
190
+ required: [PARAM_PATTERN],
186
191
  },
187
192
  },
188
193
  list_directory: {
@@ -191,33 +196,33 @@ export const GEMINI_3_SET = {
191
196
  parametersJsonSchema: {
192
197
  type: 'object',
193
198
  properties: {
194
- dir_path: {
199
+ [PARAM_DIR_PATH]: {
195
200
  description: 'The path to the directory to list',
196
201
  type: 'string',
197
202
  },
198
- ignore: {
203
+ [LS_PARAM_IGNORE]: {
199
204
  description: 'List of glob patterns to ignore',
200
205
  items: {
201
206
  type: 'string',
202
207
  },
203
208
  type: 'array',
204
209
  },
205
- file_filtering_options: {
210
+ [PARAM_FILE_FILTERING_OPTIONS]: {
206
211
  description: 'Optional: Whether to respect ignore patterns from .gitignore or .geminiignore',
207
212
  type: 'object',
208
213
  properties: {
209
- respect_git_ignore: {
214
+ [PARAM_RESPECT_GIT_IGNORE]: {
210
215
  description: 'Optional: Whether to respect .gitignore patterns when listing files. Only available in git repositories. Defaults to true.',
211
216
  type: 'boolean',
212
217
  },
213
- respect_gemini_ignore: {
218
+ [PARAM_RESPECT_GEMINI_IGNORE]: {
214
219
  description: 'Optional: Whether to respect .geminiignore patterns when listing files. Defaults to true.',
215
220
  type: 'boolean',
216
221
  },
217
222
  },
218
223
  },
219
224
  },
220
- required: ['dir_path'],
225
+ required: [PARAM_DIR_PATH],
221
226
  },
222
227
  },
223
228
  run_shell_command: (enableInteractiveShell, enableEfficiency) => getShellDeclaration(enableInteractiveShell, enableEfficiency),
@@ -228,28 +233,33 @@ The user has the ability to modify the \`new_string\` content. If modified, this
228
233
  parametersJsonSchema: {
229
234
  type: 'object',
230
235
  properties: {
231
- file_path: {
236
+ [PARAM_FILE_PATH]: {
232
237
  description: 'The path to the file to modify.',
233
238
  type: 'string',
234
239
  },
235
- instruction: {
240
+ [EDIT_PARAM_INSTRUCTION]: {
236
241
  description: `A clear, semantic instruction for the code change, acting as a high-quality prompt for an expert LLM assistant. It must be self-contained and explain the goal of the change.`,
237
242
  type: 'string',
238
243
  },
239
- old_string: {
244
+ [EDIT_PARAM_OLD_STRING]: {
240
245
  description: 'The exact literal text to replace, unescaped. If this string is not the exact literal text (i.e. you escaped it) or does not match exactly, the tool will fail.',
241
246
  type: 'string',
242
247
  },
243
- new_string: {
248
+ [EDIT_PARAM_NEW_STRING]: {
244
249
  description: "The exact literal text to replace `old_string` with, unescaped. Provide the EXACT text. Ensure the resulting code is correct and idiomatic. Do not use omission placeholders like '(rest of methods ...)', '...', or 'unchanged code'; provide exact literal code.",
245
250
  type: 'string',
246
251
  },
247
- allow_multiple: {
252
+ [EDIT_PARAM_ALLOW_MULTIPLE]: {
248
253
  type: 'boolean',
249
254
  description: 'If true, the tool will replace all occurrences of `old_string`. If false (default), it will only succeed if exactly one occurrence is found.',
250
255
  },
251
256
  },
252
- required: ['file_path', 'instruction', 'old_string', 'new_string'],
257
+ required: [
258
+ PARAM_FILE_PATH,
259
+ EDIT_PARAM_INSTRUCTION,
260
+ EDIT_PARAM_OLD_STRING,
261
+ EDIT_PARAM_NEW_STRING,
262
+ ],
253
263
  },
254
264
  },
255
265
  google_web_search: {
@@ -258,12 +268,12 @@ The user has the ability to modify the \`new_string\` content. If modified, this
258
268
  parametersJsonSchema: {
259
269
  type: 'object',
260
270
  properties: {
261
- query: {
271
+ [WEB_SEARCH_PARAM_QUERY]: {
262
272
  type: 'string',
263
273
  description: "The search query. Supports natural language questions (e.g., 'Latest breaking changes in React 19') or specific technical queries.",
264
274
  },
265
275
  },
266
- required: ['query'],
276
+ required: [WEB_SEARCH_PARAM_QUERY],
267
277
  },
268
278
  },
269
279
  web_fetch: {
@@ -272,12 +282,12 @@ The user has the ability to modify the \`new_string\` content. If modified, this
272
282
  parametersJsonSchema: {
273
283
  type: 'object',
274
284
  properties: {
275
- prompt: {
285
+ [WEB_FETCH_PARAM_PROMPT]: {
276
286
  description: 'A string containing the URL(s) and your specific analysis instructions. Be clear about what information you want to find or summarize. Supports up to 20 URLs.',
277
287
  type: 'string',
278
288
  },
279
289
  },
280
- required: ['prompt'],
290
+ required: [WEB_FETCH_PARAM_PROMPT],
281
291
  },
282
292
  },
283
293
  read_many_files: {
@@ -295,7 +305,7 @@ Use this tool when the user's query implies needing the content of several files
295
305
  parametersJsonSchema: {
296
306
  type: 'object',
297
307
  properties: {
298
- include: {
308
+ [READ_MANY_PARAM_INCLUDE]: {
299
309
  type: 'array',
300
310
  items: {
301
311
  type: 'string',
@@ -304,7 +314,7 @@ Use this tool when the user's query implies needing the content of several files
304
314
  minItems: 1,
305
315
  description: 'An array of glob patterns or paths. Examples: ["src/**/*.ts"], ["README.md", "docs/"]',
306
316
  },
307
- exclude: {
317
+ [READ_MANY_PARAM_EXCLUDE]: {
308
318
  type: 'array',
309
319
  items: {
310
320
  type: 'string',
@@ -313,32 +323,32 @@ Use this tool when the user's query implies needing the content of several files
313
323
  description: 'Optional. Glob patterns for files/directories to exclude. Added to default excludes if useDefaultExcludes is true. Example: "**/*.log", "temp/"',
314
324
  default: [],
315
325
  },
316
- recursive: {
326
+ [READ_MANY_PARAM_RECURSIVE]: {
317
327
  type: 'boolean',
318
328
  description: 'Optional. Whether to search recursively (primarily controlled by `**` in glob patterns). Defaults to true.',
319
329
  default: true,
320
330
  },
321
- useDefaultExcludes: {
331
+ [READ_MANY_PARAM_USE_DEFAULT_EXCLUDES]: {
322
332
  type: 'boolean',
323
333
  description: 'Optional. Whether to apply a list of default exclusion patterns (e.g., node_modules, .git, binary files). Defaults to true.',
324
334
  default: true,
325
335
  },
326
- file_filtering_options: {
336
+ [PARAM_FILE_FILTERING_OPTIONS]: {
327
337
  description: 'Whether to respect ignore patterns from .gitignore or .geminiignore',
328
338
  type: 'object',
329
339
  properties: {
330
- respect_git_ignore: {
340
+ [PARAM_RESPECT_GIT_IGNORE]: {
331
341
  description: 'Optional: Whether to respect .gitignore patterns when listing files. Only available in git repositories. Defaults to true.',
332
342
  type: 'boolean',
333
343
  },
334
- respect_gemini_ignore: {
344
+ [PARAM_RESPECT_GEMINI_IGNORE]: {
335
345
  description: 'Optional: Whether to respect .geminiignore patterns when listing files. Defaults to true.',
336
346
  type: 'boolean',
337
347
  },
338
348
  },
339
349
  },
340
350
  },
341
- required: ['include'],
351
+ required: [READ_MANY_PARAM_INCLUDE],
342
352
  },
343
353
  },
344
354
  save_memory: {
@@ -347,12 +357,12 @@ Use this tool when the user's query implies needing the content of several files
347
357
  parametersJsonSchema: {
348
358
  type: 'object',
349
359
  properties: {
350
- fact: {
360
+ [MEMORY_PARAM_FACT]: {
351
361
  type: 'string',
352
362
  description: "A concise, global fact or preference (e.g., 'I prefer using tabs'). Do not include local paths or project-specific names.",
353
363
  },
354
364
  },
355
- required: ['fact'],
365
+ required: [MEMORY_PARAM_FACT],
356
366
  additionalProperties: false,
357
367
  },
358
368
  },
@@ -424,29 +434,29 @@ The agent did not use the todo list because this task could be completed by a ti
424
434
  parametersJsonSchema: {
425
435
  type: 'object',
426
436
  properties: {
427
- todos: {
437
+ [TODOS_PARAM_TODOS]: {
428
438
  type: 'array',
429
439
  description: 'The complete list of todo items. This will replace the existing list.',
430
440
  items: {
431
441
  type: 'object',
432
442
  description: 'A single todo item.',
433
443
  properties: {
434
- description: {
444
+ [TODOS_ITEM_PARAM_DESCRIPTION]: {
435
445
  type: 'string',
436
446
  description: 'The description of the task.',
437
447
  },
438
- status: {
448
+ [TODOS_ITEM_PARAM_STATUS]: {
439
449
  type: 'string',
440
450
  description: 'The current status of the task.',
441
451
  enum: ['pending', 'in_progress', 'completed', 'cancelled'],
442
452
  },
443
453
  },
444
- required: ['description', 'status'],
454
+ required: [TODOS_ITEM_PARAM_DESCRIPTION, TODOS_ITEM_PARAM_STATUS],
445
455
  additionalProperties: false,
446
456
  },
447
457
  },
448
458
  },
449
- required: ['todos'],
459
+ required: [TODOS_PARAM_TODOS],
450
460
  additionalProperties: false,
451
461
  },
452
462
  },
@@ -456,7 +466,7 @@ The agent did not use the todo list because this task could be completed by a ti
456
466
  parametersJsonSchema: {
457
467
  type: 'object',
458
468
  properties: {
459
- path: {
469
+ [DOCS_PARAM_PATH]: {
460
470
  description: "The relative path to the documentation file (e.g., 'cli/commands.md'). If omitted, lists all available documentation.",
461
471
  type: 'string',
462
472
  },
@@ -468,53 +478,60 @@ The agent did not use the todo list because this task could be completed by a ti
468
478
  description: 'Ask the user one or more questions to gather preferences, clarify requirements, or make decisions. When using this tool, prefer providing multiple-choice options with detailed descriptions and enable multi-select where appropriate to provide maximum flexibility.',
469
479
  parametersJsonSchema: {
470
480
  type: 'object',
471
- required: ['questions'],
481
+ required: [ASK_USER_PARAM_QUESTIONS],
472
482
  properties: {
473
- questions: {
483
+ [ASK_USER_PARAM_QUESTIONS]: {
474
484
  type: 'array',
475
485
  minItems: 1,
476
486
  maxItems: 4,
477
487
  items: {
478
488
  type: 'object',
479
- required: ['question', 'header', 'type'],
489
+ required: [
490
+ ASK_USER_QUESTION_PARAM_QUESTION,
491
+ ASK_USER_QUESTION_PARAM_HEADER,
492
+ ASK_USER_QUESTION_PARAM_TYPE,
493
+ ],
480
494
  properties: {
481
- question: {
495
+ [ASK_USER_QUESTION_PARAM_QUESTION]: {
482
496
  type: 'string',
483
497
  description: 'The complete question to ask the user. Should be clear, specific, and end with a question mark.',
484
498
  },
485
- header: {
499
+ [ASK_USER_QUESTION_PARAM_HEADER]: {
486
500
  type: 'string',
487
501
  description: 'Very short label displayed as a chip/tag. Use abbreviations: "Auth" not "Authentication", "Config" not "Configuration". Examples: "Auth method", "Library", "Approach", "Database".',
488
502
  },
489
- type: {
503
+ [ASK_USER_QUESTION_PARAM_TYPE]: {
490
504
  type: 'string',
491
505
  enum: ['choice', 'text', 'yesno'],
492
506
  default: 'choice',
493
507
  description: "Question type: 'choice' (default) for multiple-choice with options, 'text' for free-form input, 'yesno' for Yes/No confirmation.",
494
508
  },
495
- options: {
509
+ [ASK_USER_QUESTION_PARAM_OPTIONS]: {
496
510
  type: 'array',
497
511
  description: "The selectable choices for 'choice' type questions. Provide 2-4 options. An 'Other' option is automatically added. Not needed for 'text' or 'yesno' types.",
498
512
  items: {
499
513
  type: 'object',
500
- required: ['label', 'description'],
514
+ required: [
515
+ ASK_USER_OPTION_PARAM_LABEL,
516
+ ASK_USER_OPTION_PARAM_DESCRIPTION,
517
+ ],
501
518
  properties: {
502
- label: {
519
+ [ASK_USER_OPTION_PARAM_LABEL]: {
503
520
  type: 'string',
504
521
  description: 'The display text for this option (1-5 words). Example: "OAuth 2.0"',
505
522
  },
506
- description: {
523
+ [ASK_USER_OPTION_PARAM_DESCRIPTION]: {
507
524
  type: 'string',
508
525
  description: 'Brief explanation of this option. Example: "Industry standard, supports SSO"',
509
526
  },
510
527
  },
511
528
  },
512
529
  },
513
- multiSelect: {
530
+ [ASK_USER_QUESTION_PARAM_MULTI_SELECT]: {
514
531
  type: 'boolean',
515
532
  description: "Only applies when type='choice'. Set to true to allow selecting multiple options.",
516
533
  },
517
- placeholder: {
534
+ [ASK_USER_QUESTION_PARAM_PLACEHOLDER]: {
518
535
  type: 'string',
519
536
  description: "Hint text shown in the input field. For type='text', shown in the main input. For type='choice', shown in the 'Other' custom input.",
520
537
  },
@@ -530,7 +547,7 @@ The agent did not use the todo list because this task could be completed by a ti
530
547
  parametersJsonSchema: {
531
548
  type: 'object',
532
549
  properties: {
533
- reason: {
550
+ [PLAN_MODE_PARAM_REASON]: {
534
551
  type: 'string',
535
552
  description: 'Short reason explaining why you are entering plan mode.',
536
553
  },
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-3.js","sourceRoot":"","sources":["../../../../../src/tools/definitions/model-family-sets/gemini-3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-3.js","sourceRoot":"","sources":["../../../../../src/tools/definitions/model-family-sets/gemini-3.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface EnterPlanModeParams {
11
11
  }
12
12
  export declare class EnterPlanModeTool extends BaseDeclarativeTool<EnterPlanModeParams, ToolResult> {
13
13
  private config;
14
+ static readonly Name = "enter_plan_mode";
14
15
  constructor(config: Config, messageBus: MessageBus);
15
16
  protected createInvocation(params: EnterPlanModeParams, messageBus: MessageBus, toolName: string, toolDisplayName: string): EnterPlanModeInvocation;
16
17
  getSchema(modelId?: string): import("@google/genai").FunctionDeclaration;
@@ -10,8 +10,9 @@ import { ENTER_PLAN_MODE_DEFINITION } from './definitions/coreTools.js';
10
10
  import { resolveToolDeclaration } from './definitions/resolver.js';
11
11
  export class EnterPlanModeTool extends BaseDeclarativeTool {
12
12
  config;
13
+ static Name = ENTER_PLAN_MODE_TOOL_NAME;
13
14
  constructor(config, messageBus) {
14
- super(ENTER_PLAN_MODE_TOOL_NAME, 'Enter Plan Mode', ENTER_PLAN_MODE_DEFINITION.base.description, Kind.Plan, ENTER_PLAN_MODE_DEFINITION.base.parametersJsonSchema, messageBus);
15
+ super(EnterPlanModeTool.Name, 'Enter Plan Mode', ENTER_PLAN_MODE_DEFINITION.base.description, Kind.Plan, ENTER_PLAN_MODE_DEFINITION.base.parametersJsonSchema, messageBus);
15
16
  this.config = config;
16
17
  }
17
18
  createInvocation(params, messageBus, toolName, toolDisplayName) {
@@ -1 +1 @@
1
- {"version":3,"file":"enter-plan-mode.js","sourceRoot":"","sources":["../../../src/tools/enter-plan-mode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAElB,IAAI,EAEJ,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAMnE,MAAM,OAAO,iBAAkB,SAAQ,mBAGtC;IAEW;IADV,YACU,MAAc,EACtB,UAAsB;QAEtB,KAAK,CACH,yBAAyB,EACzB,iBAAiB,EACjB,0BAA0B,CAAC,IAAI,CAAC,WAAY,EAC5C,IAAI,CAAC,IAAI,EACT,0BAA0B,CAAC,IAAI,CAAC,oBAAoB,EACpD,UAAU,CACX,CAAC;QAVM,WAAM,GAAN,MAAM,CAAQ;IAWxB,CAAC;IAES,gBAAgB,CACxB,MAA2B,EAC3B,UAAsB,EACtB,QAAgB,EAChB,eAAuB;QAEvB,OAAO,IAAI,uBAAuB,CAChC,MAAM,EACN,UAAU,EACV,QAAQ,EACR,eAAe,EACf,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;IAEQ,SAAS,CAAC,OAAgB;QACjC,OAAO,sBAAsB,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,kBAG5C;IAQW;IAPF,mBAAmB,GAAmC,IAAI,CAAC;IAEnE,YACE,MAA2B,EAC3B,UAAsB,EACtB,QAAgB,EAChB,eAAuB,EACf,MAAc;QAEtB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAF7C,WAAM,GAAN,MAAM,CAAQ;IAGxB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,sBAAsB,CAAC;IACtD,CAAC;IAEQ,KAAK,CAAC,oBAAoB,CACjC,WAAwB;QAExB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,uBACE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAChC,qBAAqB,CACtB,CAAC;QACJ,CAAC;QAED,WAAW;QACX,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,iBAAiB;YACxB,MAAM,EACJ,6EAA6E;YAC/E,SAAS,EAAE,KAAK,EAAE,OAAgC,EAAE,EAAE;gBACpD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;gBACnC,4DAA4D;YAC9D,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoB;QAChC,IAAI,IAAI,CAAC,mBAAmB,KAAK,uBAAuB,CAAC,MAAM,EAAE,CAAC;YAChE,OAAO;gBACL,UAAU,EAAE,oCAAoC;gBAChD,aAAa,EAAE,WAAW;aAC3B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE/C,OAAO;YACL,UAAU,EAAE,yBAAyB;YACrC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC/B,CAAC,CAAC,2BAA2B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACjD,CAAC,CAAC,wBAAwB;SAC7B,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"enter-plan-mode.js","sourceRoot":"","sources":["../../../src/tools/enter-plan-mode.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface ExitPlanModeParams {
11
11
  }
12
12
  export declare class ExitPlanModeTool extends BaseDeclarativeTool<ExitPlanModeParams, ToolResult> {
13
13
  private config;
14
+ static readonly Name = "exit_plan_mode";
14
15
  constructor(config: Config, messageBus: MessageBus);
15
16
  protected validateToolParamValues(params: ExitPlanModeParams): string | null;
16
17
  protected createInvocation(params: ExitPlanModeParams, messageBus: MessageBus, toolName: string, toolDisplayName: string): ExitPlanModeInvocation;
@@ -16,10 +16,11 @@ import { resolveToolDeclaration } from './definitions/resolver.js';
16
16
  import { getPlanModeExitMessage } from '../utils/approvalModeUtils.js';
17
17
  export class ExitPlanModeTool extends BaseDeclarativeTool {
18
18
  config;
19
+ static Name = EXIT_PLAN_MODE_TOOL_NAME;
19
20
  constructor(config, messageBus) {
20
21
  const plansDir = config.storage.getPlansDir();
21
22
  const definition = getExitPlanModeDefinition(plansDir);
22
- super(EXIT_PLAN_MODE_TOOL_NAME, 'Exit Plan Mode', definition.base.description, Kind.Plan, definition.base.parametersJsonSchema, messageBus);
23
+ super(ExitPlanModeTool.Name, 'Exit Plan Mode', definition.base.description, Kind.Plan, definition.base.parametersJsonSchema, messageBus);
23
24
  this.config = config;
24
25
  }
25
26
  validateToolParamValues(params) {