@blackbox_ai/blackbox-cli-core 0.0.9 → 0.8.1

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 (247) hide show
  1. package/README.md +11 -183
  2. package/dist/index.d.ts +2 -1
  3. package/dist/index.js +2 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/blackbox/blackboxOAuth2.js +17 -1
  6. package/dist/src/blackbox/blackboxOAuth2.js.map +1 -1
  7. package/dist/src/code_assist/oauth2.js +15 -3
  8. package/dist/src/code_assist/oauth2.js.map +1 -1
  9. package/dist/src/config/blackboxModels.d.ts +3 -2
  10. package/dist/src/config/blackboxModels.js +262 -33
  11. package/dist/src/config/blackboxModels.js.map +1 -1
  12. package/dist/src/config/config.d.ts +65 -0
  13. package/dist/src/config/config.js +282 -17
  14. package/dist/src/config/config.js.map +1 -1
  15. package/dist/src/config/models.d.ts +1 -1
  16. package/dist/src/config/models.js +1 -1
  17. package/dist/src/config/models.js.map +1 -1
  18. package/dist/src/config/multiAgentModels.d.ts +63 -0
  19. package/dist/src/config/multiAgentModels.js +194 -0
  20. package/dist/src/config/multiAgentModels.js.map +1 -0
  21. package/dist/src/core/client.js +8 -2
  22. package/dist/src/core/client.js.map +1 -1
  23. package/dist/src/core/contentGenerator.d.ts +1 -0
  24. package/dist/src/core/contentGenerator.js +57 -7
  25. package/dist/src/core/contentGenerator.js.map +1 -1
  26. package/dist/src/core/encryptedClientFactory.d.ts +17 -0
  27. package/dist/src/core/encryptedClientFactory.js +92 -0
  28. package/dist/src/core/encryptedClientFactory.js.map +1 -0
  29. package/dist/src/core/encryptedContentGenerator.d.ts +47 -0
  30. package/dist/src/core/encryptedContentGenerator.js +445 -0
  31. package/dist/src/core/encryptedContentGenerator.js.map +1 -0
  32. package/dist/src/core/encryptedGeminiClient.d.ts +59 -0
  33. package/dist/src/core/encryptedGeminiClient.js +177 -0
  34. package/dist/src/core/encryptedGeminiClient.js.map +1 -0
  35. package/dist/src/core/encryptedGeminiClientBridge.d.ts +107 -0
  36. package/dist/src/core/encryptedGeminiClientBridge.js +808 -0
  37. package/dist/src/core/encryptedGeminiClientBridge.js.map +1 -0
  38. package/dist/src/core/encryptedGeminiClientWrapper.d.ts +129 -0
  39. package/dist/src/core/encryptedGeminiClientWrapper.js +305 -0
  40. package/dist/src/core/encryptedGeminiClientWrapper.js.map +1 -0
  41. package/dist/src/core/encryptedTurn.d.ts +40 -0
  42. package/dist/src/core/encryptedTurn.js +114 -0
  43. package/dist/src/core/encryptedTurn.js.map +1 -0
  44. package/dist/src/core/logger.d.ts +21 -0
  45. package/dist/src/core/logger.js +110 -0
  46. package/dist/src/core/logger.js.map +1 -1
  47. package/dist/src/core/openaiContentGenerator/constants.d.ts +2 -0
  48. package/dist/src/core/openaiContentGenerator/constants.js +2 -0
  49. package/dist/src/core/openaiContentGenerator/constants.js.map +1 -1
  50. package/dist/src/core/openaiContentGenerator/converter.d.ts +16 -1
  51. package/dist/src/core/openaiContentGenerator/converter.js +135 -4
  52. package/dist/src/core/openaiContentGenerator/converter.js.map +1 -1
  53. package/dist/src/core/openaiContentGenerator/pipeline.js +6 -2
  54. package/dist/src/core/openaiContentGenerator/pipeline.js.map +1 -1
  55. package/dist/src/core/openaiContentGenerator/provider/default.js +10 -1
  56. package/dist/src/core/openaiContentGenerator/provider/default.js.map +1 -1
  57. package/dist/src/core/prompts.d.ts +17 -0
  58. package/dist/src/core/prompts.js +347 -19
  59. package/dist/src/core/prompts.js.map +1 -1
  60. package/dist/src/core/tokenLimits.d.ts +1 -0
  61. package/dist/src/core/tokenLimits.js +37 -2
  62. package/dist/src/core/tokenLimits.js.map +1 -1
  63. package/dist/src/core/tokenLimits.test.js +36 -1
  64. package/dist/src/core/tokenLimits.test.js.map +1 -1
  65. package/dist/src/encrypt/attestation.d.ts +5 -0
  66. package/dist/src/encrypt/attestation.js +100 -0
  67. package/dist/src/encrypt/attestation.js.map +1 -0
  68. package/dist/src/encrypt/client.d.ts +14 -0
  69. package/dist/src/encrypt/client.js +132 -0
  70. package/dist/src/encrypt/client.js.map +1 -0
  71. package/dist/src/encrypt/config.d.ts +22 -0
  72. package/dist/src/encrypt/config.js +43 -0
  73. package/dist/src/encrypt/config.js.map +1 -0
  74. package/dist/src/encrypt/crypto-utils.d.ts +57 -0
  75. package/dist/src/encrypt/crypto-utils.js +257 -0
  76. package/dist/src/encrypt/crypto-utils.js.map +1 -0
  77. package/dist/src/encrypt/history-manager.d.ts +43 -0
  78. package/dist/src/encrypt/history-manager.js +164 -0
  79. package/dist/src/encrypt/history-manager.js.map +1 -0
  80. package/dist/src/encrypt/minimax-template.d.ts +73 -0
  81. package/dist/src/encrypt/minimax-template.js +276 -0
  82. package/dist/src/encrypt/minimax-template.js.map +1 -0
  83. package/dist/src/encrypt/sessions.d.ts +17 -0
  84. package/dist/src/encrypt/sessions.js +221 -0
  85. package/dist/src/encrypt/sessions.js.map +1 -0
  86. package/dist/src/encrypt/streaming-client.d.ts +29 -0
  87. package/dist/src/encrypt/streaming-client.js +232 -0
  88. package/dist/src/encrypt/streaming-client.js.map +1 -0
  89. package/dist/src/encrypt/tool-formatter.d.ts +36 -0
  90. package/dist/src/encrypt/tool-formatter.js +353 -0
  91. package/dist/src/encrypt/tool-formatter.js.map +1 -0
  92. package/dist/src/encrypt/tool-parser.d.ts +93 -0
  93. package/dist/src/encrypt/tool-parser.js +567 -0
  94. package/dist/src/encrypt/tool-parser.js.map +1 -0
  95. package/dist/src/encrypt/types.d.ts +81 -0
  96. package/dist/src/encrypt/types.js +2 -0
  97. package/dist/src/encrypt/types.js.map +1 -0
  98. package/dist/src/generated/git-commit.d.ts +3 -3
  99. package/dist/src/generated/git-commit.js +3 -3
  100. package/dist/src/ide/ide-client.js +9 -19
  101. package/dist/src/ide/ide-client.js.map +1 -1
  102. package/dist/src/index.d.ts +15 -0
  103. package/dist/src/index.js +15 -0
  104. package/dist/src/index.js.map +1 -1
  105. package/dist/src/mcp/oauth-provider.js +2 -6
  106. package/dist/src/mcp/oauth-provider.js.map +1 -1
  107. package/dist/src/mcp/oauth-token-storage.d.ts +7 -0
  108. package/dist/src/mcp/oauth-token-storage.js +24 -0
  109. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  110. package/dist/src/services/EncryptedChatService.d.ts +80 -0
  111. package/dist/src/services/EncryptedChatService.js +202 -0
  112. package/dist/src/services/EncryptedChatService.js.map +1 -0
  113. package/dist/src/services/StatsHistoryService.d.ts +131 -0
  114. package/dist/src/services/StatsHistoryService.js +427 -0
  115. package/dist/src/services/StatsHistoryService.js.map +1 -0
  116. package/dist/src/services/checkpointApiService.d.ts +101 -0
  117. package/dist/src/services/checkpointApiService.js +215 -0
  118. package/dist/src/services/checkpointApiService.js.map +1 -0
  119. package/dist/src/services/environmentSanitization.d.ts +24 -0
  120. package/dist/src/services/environmentSanitization.js +152 -0
  121. package/dist/src/services/environmentSanitization.js.map +1 -0
  122. package/dist/src/telemetry/blackbox-logger/blackbox-logger.d.ts +2 -6
  123. package/dist/src/telemetry/blackbox-logger/blackbox-logger.js +29 -135
  124. package/dist/src/telemetry/blackbox-logger/blackbox-logger.js.map +1 -1
  125. package/dist/src/telemetry/blackbox-logger/blackbox-logger.test.js +1 -1
  126. package/dist/src/telemetry/blackbox-logger/blackbox-logger.test.js.map +1 -1
  127. package/dist/src/telemetry/uiTelemetry.d.ts +8 -0
  128. package/dist/src/telemetry/uiTelemetry.js +17 -0
  129. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  130. package/dist/src/tools/browser-interactive.d.ts +63 -0
  131. package/dist/src/tools/browser-interactive.js +394 -0
  132. package/dist/src/tools/browser-interactive.js.map +1 -0
  133. package/dist/src/tools/browser_use.d.ts +22 -1
  134. package/dist/src/tools/browser_use.js +403 -23
  135. package/dist/src/tools/browser_use.js.map +1 -1
  136. package/dist/src/tools/data-file-constants.d.ts +17 -0
  137. package/dist/src/tools/data-file-constants.js +30 -0
  138. package/dist/src/tools/data-file-constants.js.map +1 -0
  139. package/dist/src/tools/edit.js +44 -7
  140. package/dist/src/tools/edit.js.map +1 -1
  141. package/dist/src/tools/ls.js +40 -6
  142. package/dist/src/tools/ls.js.map +1 -1
  143. package/dist/src/tools/ls.test.js +4 -4
  144. package/dist/src/tools/ls.test.js.map +1 -1
  145. package/dist/src/tools/mcp-client-manager.d.ts +28 -2
  146. package/dist/src/tools/mcp-client-manager.js +62 -4
  147. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  148. package/dist/src/tools/mcp-client.d.ts +5 -3
  149. package/dist/src/tools/mcp-client.js +39 -11
  150. package/dist/src/tools/mcp-client.js.map +1 -1
  151. package/dist/src/tools/mcp-tool.d.ts +3 -1
  152. package/dist/src/tools/mcp-tool.js +37 -9
  153. package/dist/src/tools/mcp-tool.js.map +1 -1
  154. package/dist/src/tools/memoryTool.d.ts +14 -4
  155. package/dist/src/tools/memoryTool.js +98 -39
  156. package/dist/src/tools/memoryTool.js.map +1 -1
  157. package/dist/src/tools/read-data-file.d.ts +31 -0
  158. package/dist/src/tools/read-data-file.js +469 -0
  159. package/dist/src/tools/read-data-file.js.map +1 -0
  160. package/dist/src/tools/read-file.js +64 -5
  161. package/dist/src/tools/read-file.js.map +1 -1
  162. package/dist/src/tools/read-file.test.js +40 -6
  163. package/dist/src/tools/read-file.test.js.map +1 -1
  164. package/dist/src/tools/shell.d.ts +3 -1
  165. package/dist/src/tools/shell.js +25 -4
  166. package/dist/src/tools/shell.js.map +1 -1
  167. package/dist/src/tools/skill.d.ts +34 -0
  168. package/dist/src/tools/skill.js +143 -0
  169. package/dist/src/tools/skill.js.map +1 -0
  170. package/dist/src/tools/sql_db.d.ts +101 -0
  171. package/dist/src/tools/sql_db.js +1033 -0
  172. package/dist/src/tools/sql_db.js.map +1 -0
  173. package/dist/src/tools/sql_db_configure.d.ts +18 -0
  174. package/dist/src/tools/sql_db_configure.js +96 -0
  175. package/dist/src/tools/sql_db_configure.js.map +1 -0
  176. package/dist/src/tools/taskCompletion.d.ts +29 -0
  177. package/dist/src/tools/taskCompletion.js +231 -0
  178. package/dist/src/tools/taskCompletion.js.map +1 -0
  179. package/dist/src/tools/tool-error.d.ts +3 -1
  180. package/dist/src/tools/tool-error.js +3 -0
  181. package/dist/src/tools/tool-error.js.map +1 -1
  182. package/dist/src/tools/tool-names.d.ts +8 -0
  183. package/dist/src/tools/tool-names.js +8 -0
  184. package/dist/src/tools/tool-names.js.map +1 -1
  185. package/dist/src/tools/tool-registry.d.ts +22 -0
  186. package/dist/src/tools/tool-registry.js +41 -1
  187. package/dist/src/tools/tool-registry.js.map +1 -1
  188. package/dist/src/tools/tools.d.ts +18 -2
  189. package/dist/src/tools/tools.js +3 -0
  190. package/dist/src/tools/tools.js.map +1 -1
  191. package/dist/src/tools/web-fetch.js +24 -4
  192. package/dist/src/tools/web-fetch.js.map +1 -1
  193. package/dist/src/tools/web-search.js +160 -2
  194. package/dist/src/tools/web-search.js.map +1 -1
  195. package/dist/src/tools/workspace-error-helper.d.ts +9 -0
  196. package/dist/src/tools/workspace-error-helper.js +43 -0
  197. package/dist/src/tools/workspace-error-helper.js.map +1 -0
  198. package/dist/src/tools/workspace-error-helper.test.js +85 -0
  199. package/dist/src/tools/workspace-error-helper.test.js.map +1 -0
  200. package/dist/src/tools/write-file.js +42 -7
  201. package/dist/src/tools/write-file.js.map +1 -1
  202. package/dist/src/utils/environmentContext.js +3 -1
  203. package/dist/src/utils/environmentContext.js.map +1 -1
  204. package/dist/src/utils/environmentContext.test.js +3 -2
  205. package/dist/src/utils/environmentContext.test.js.map +1 -1
  206. package/dist/src/utils/fetch.d.ts +3 -1
  207. package/dist/src/utils/fetch.js +35 -2
  208. package/dist/src/utils/fetch.js.map +1 -1
  209. package/dist/src/utils/fileUtils.js +30 -3
  210. package/dist/src/utils/fileUtils.js.map +1 -1
  211. package/dist/src/utils/filesearch/fileSearch.d.ts +2 -0
  212. package/dist/src/utils/filesearch/fileSearch.js +38 -7
  213. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  214. package/dist/src/utils/git-worktree-utils.d.ts +56 -0
  215. package/dist/src/utils/git-worktree-utils.js +176 -0
  216. package/dist/src/utils/git-worktree-utils.js.map +1 -0
  217. package/dist/src/utils/imageCompression.d.ts +34 -0
  218. package/dist/src/utils/imageCompression.js +170 -0
  219. package/dist/src/utils/imageCompression.js.map +1 -0
  220. package/dist/src/utils/messageTruncator.d.ts +51 -0
  221. package/dist/src/utils/messageTruncator.js +346 -0
  222. package/dist/src/utils/messageTruncator.js.map +1 -0
  223. package/dist/src/utils/pathReader.js +26 -6
  224. package/dist/src/utils/pathReader.js.map +1 -1
  225. package/dist/src/utils/skill.d.ts +65 -0
  226. package/dist/src/utils/skill.js +241 -0
  227. package/dist/src/utils/skill.js.map +1 -0
  228. package/dist/src/utils/textCleaning.d.ts +51 -0
  229. package/dist/src/utils/textCleaning.js +327 -0
  230. package/dist/src/utils/textCleaning.js.map +1 -0
  231. package/dist/tsconfig.tsbuildinfo +1 -1
  232. package/package.json +16 -2
  233. package/dist/src/tools/mcp-client-manager.test.js +0 -39
  234. package/dist/src/tools/mcp-client-manager.test.js.map +0 -1
  235. package/dist/src/tools/mcp-client.test.d.ts +0 -6
  236. package/dist/src/tools/mcp-client.test.js +0 -454
  237. package/dist/src/tools/mcp-client.test.js.map +0 -1
  238. package/dist/src/tools/mcp-tool.test.d.ts +0 -6
  239. package/dist/src/tools/mcp-tool.test.js +0 -576
  240. package/dist/src/tools/mcp-tool.test.js.map +0 -1
  241. package/dist/src/tools/memoryTool.test.d.ts +0 -6
  242. package/dist/src/tools/memoryTool.test.js +0 -420
  243. package/dist/src/tools/memoryTool.test.js.map +0 -1
  244. package/dist/src/tools/tool-registry.test.d.ts +0 -6
  245. package/dist/src/tools/tool-registry.test.js +0 -332
  246. package/dist/src/tools/tool-registry.test.js.map +0 -1
  247. /package/dist/src/tools/{mcp-client-manager.test.d.ts → workspace-error-helper.test.d.ts} +0 -0
@@ -3,9 +3,10 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { ToolEditConfirmationDetails, ToolResult } from './tools.js';
6
+ import type { ToolEditConfirmationDetails, ToolResult, ToolMemoryConfirmationDetails } from './tools.js';
7
7
  import { BaseDeclarativeTool, BaseToolInvocation } from './tools.js';
8
8
  import type { ModifiableDeclarativeTool, ModifyContext } from './modifiable-tool.js';
9
+ import type { Config } from '../config/config.js';
9
10
  export declare const GEMINI_CONFIG_DIR = ".blackboxcli";
10
11
  export declare const DEFAULT_CONTEXT_FILENAME = "BLACKBOX.md";
11
12
  export declare const MEMORY_SECTION_HEADER = "## Blackbox Added Memories";
@@ -19,15 +20,24 @@ interface SaveMemoryParams {
19
20
  scope?: 'global' | 'project';
20
21
  }
21
22
  declare class MemoryToolInvocation extends BaseToolInvocation<SaveMemoryParams, ToolResult> {
22
- private static readonly allowlist;
23
+ private readonly config;
24
+ private readonly isNonInteractive;
25
+ private static readonly sessionAllowlist;
26
+ constructor(params: SaveMemoryParams, config: Config, isNonInteractive?: boolean);
27
+ /**
28
+ * Get combined allowlist (persistent + session-only)
29
+ */
30
+ private getAllowlist;
23
31
  getDescription(): string;
24
- shouldConfirmExecute(_abortSignal: AbortSignal): Promise<ToolEditConfirmationDetails | false>;
32
+ shouldConfirmExecute(_abortSignal: AbortSignal): Promise<ToolEditConfirmationDetails | ToolMemoryConfirmationDetails | false>;
25
33
  execute(_signal: AbortSignal): Promise<ToolResult>;
26
34
  }
27
35
  export declare class MemoryTool extends BaseDeclarativeTool<SaveMemoryParams, ToolResult> implements ModifiableDeclarativeTool<SaveMemoryParams> {
36
+ private readonly config;
37
+ private readonly isNonInteractive;
28
38
  static readonly Name: string;
29
- constructor();
30
39
  protected validateToolParamValues(params: SaveMemoryParams): string | null;
40
+ constructor(config: Config, isNonInteractive?: boolean);
31
41
  protected createInvocation(params: SaveMemoryParams): MemoryToolInvocation;
32
42
  static performAddMemoryEntry(text: string, memoryFilePath: string, fsAdapter: {
33
43
  readFile: (path: string, encoding: 'utf-8') => Promise<string>;
@@ -30,28 +30,46 @@ const memoryToolSchemaData = {
30
30
  required: ['fact'],
31
31
  },
32
32
  };
33
- const memoryToolDescription = `
33
+ function getMemoryToolDescription(isNonInteractive = false) {
34
+ return `
34
35
  Saves a specific piece of information or fact to your long-term memory.
35
36
 
36
37
  Use this tool:
37
38
 
38
- - When the user explicitly asks you to remember something (e.g., "Remember that I like pineapple on pizza", "Please save this: my cat's name is Whiskers").
39
- - When the user states a clear, concise fact about themselves, their preferences, or their environment that seems important for you to retain for future interactions to provide a more personalized and effective assistance.
39
+ - **Explicitly Requested:** When the user explicitly asks you to remember something (e.g., "Remember that I like pineapple on pizza", "Please save this: my cat's name is Whiskers").
40
+ - **PROACTIVELY DETECTED:** When you detect memory-worthy information in user messages, such as:
41
+ - Project-specific guidelines and conventions (coding standards, architecture decisions, naming conventions)
42
+ - User preferences and workflows (tool preferences, development practices, communication style)
43
+ - Important project context (API details, database schemas, build procedures)
44
+ - Domain knowledge and business rules (constraints, terminology, regulatory requirements)
45
+
46
+ **Proactive Detection Examples:**
47
+
48
+ When a user says: "For this project, always use 2 spaces for indentation"
49
+ → You should proactively use: save_memory(fact="Project coding standard: use 2 spaces for indentation")
50
+ ${isNonInteractive ? '→ Specify scope parameter: "project" for project-specific or "global" for user-level' : '→ IMPORTANT: Do NOT specify scope parameter'}
51
+
52
+ When a user says: "I prefer Python for backend work"
53
+ → You should proactively use: save_memory(fact="User prefers Python for backend development")
54
+ ${isNonInteractive ? '→ Specify scope parameter: "global" for user-level preferences' : '→ IMPORTANT: Do NOT specify scope parameter'}
55
+
56
+ When a user says: "This API uses JWT authentication"
57
+ → You should proactively use: save_memory(fact="API authentication: uses JWT tokens")
58
+ ${isNonInteractive ? '→ Specify scope parameter: "project" for project-specific or "global" for general knowledge' : '→ IMPORTANT: Do NOT specify scope parameter'}
40
59
 
41
60
  Do NOT use this tool:
42
61
 
43
62
  - To remember conversational context that is only relevant for the current session.
44
63
  - To save long, complex, or rambling pieces of text. The fact should be relatively short and to the point.
45
- - If you are unsure whether the information is a fact worth remembering long-term. If in doubt, you can ask the user, "Should I remember that for you?"
64
+ - For temporary information or frequently changing details.
65
+ - For information already well-documented in the project.
46
66
 
47
67
  ## Parameters
48
68
 
49
69
  - \`fact\` (string, required): The specific fact or piece of information to remember. This should be a clear, self-contained statement. For example, if the user says "My favorite color is blue", the fact would be "My favorite color is blue".
50
- - \`scope\` (string, optional): Where to save the memory:
51
- - "global": Saves to user-level ~/.blackboxcli/BLACKBOX.md (shared across all projects)
52
- - "project": Saves to current project's BLACKBOX.md (project-specific)
53
- - If not specified, the tool will ask the user where they want to save the memory.
70
+ - \`scope\` (string, optional): ${isNonInteractive ? 'Specify where to save the memory: "global" for user-level ~/.blackboxcli/BLACKBOX.md (shared across all projects) or "project" for current project\'s BLACKBOX.md (project-specific). If not specified, defaults to "global".' : '**IMPORTANT: You should NEVER specify this parameter when calling the tool.** Leave it unspecified so the user can choose via the interactive selection UI. The scope options are:\n - "global": Saves to user-level ~/.blackboxcli/BLACKBOX.md (shared across all projects)\n - "project": Saves to current project\'s BLACKBOX.md (project-specific)\n - If not specified, the tool will ask the user where they want to save the memory.'}
54
71
  `;
72
+ }
55
73
  export const GEMINI_CONFIG_DIR = '.blackboxcli';
56
74
  export const DEFAULT_CONTEXT_FILENAME = 'BLACKBOX.md';
57
75
  export const MEMORY_SECTION_HEADER = '## Blackbox Added Memories';
@@ -151,7 +169,21 @@ function computeNewContent(currentContent, fact) {
151
169
  }
152
170
  }
153
171
  class MemoryToolInvocation extends BaseToolInvocation {
154
- static allowlist = new Set();
172
+ config;
173
+ isNonInteractive;
174
+ static sessionAllowlist = new Set();
175
+ constructor(params, config, isNonInteractive = false) {
176
+ super(params);
177
+ this.config = config;
178
+ this.isNonInteractive = isNonInteractive;
179
+ }
180
+ /**
181
+ * Get combined allowlist (persistent + session-only)
182
+ */
183
+ getAllowlist() {
184
+ const persistentScopes = this.config.getApprovedMemoryScopes();
185
+ return new Set([...persistentScopes, ...MemoryToolInvocation.sessionAllowlist]);
186
+ }
155
187
  getDescription() {
156
188
  if (!this.params.scope) {
157
189
  const globalPath = tildeifyPath(getMemoryFilePath('global'));
@@ -163,7 +195,13 @@ class MemoryToolInvocation extends BaseToolInvocation {
163
195
  return `${tildeifyPath(memoryFilePath)} (${scope})`;
164
196
  }
165
197
  async shouldConfirmExecute(_abortSignal) {
166
- // When scope is not specified, show a choice dialog defaulting to global
198
+ // In non-interactive mode, default to 'global' scope if not specified and skip confirmation
199
+ if (!this.params.scope && this.isNonInteractive) {
200
+ this.params.scope = 'global';
201
+ // Skip confirmation in non-interactive mode
202
+ return false;
203
+ }
204
+ // When scope is not specified in interactive mode, show a choice dialog defaulting to global
167
205
  if (!this.params.scope) {
168
206
  // Show preview of what would be added to global by default
169
207
  const defaultScope = 'global';
@@ -176,24 +214,38 @@ class MemoryToolInvocation extends BaseToolInvocation {
176
214
 
177
215
  "${this.params.fact}"
178
216
 
179
- Options:
180
- - Global: ${globalPath} (shared across all projects)
181
- - Project: ${projectPath} (current project only)
217
+ OPTION 1 - GLOBAL (click "Yes, allow once" or "Yes, allow always"):
218
+ Location: ${globalPath}
219
+ Scope: Shared across ALL projects
220
+
221
+ OPTION 2 - PROJECT (click "Modify with external editor"):
222
+ Location: ${projectPath}
223
+ Scope: Current project only
224
+ Then change "scope: global" to "scope: project" at the top of the file
225
+
226
+ OPTION 3 - CANCEL (press ESC or click "No"):
227
+ Don't save this memory
182
228
 
183
- Preview of changes to be made to GLOBAL memory:
229
+ Preview of changes (showing GLOBAL by default):
184
230
  `;
185
231
  const fileDiff = choiceText +
186
232
  Diff.createPatch(fileName, currentContent, newContent, 'Current', 'Proposed (Global)', DEFAULT_DIFF_OPTIONS);
187
233
  const confirmationDetails = {
188
- type: 'edit',
189
- title: `Choose Memory Location: GLOBAL (${globalPath}) or PROJECT (${projectPath})`,
190
- fileName,
191
- filePath: getMemoryFilePath(defaultScope),
234
+ type: 'memory',
235
+ title: `Save Memory: Choose Location`,
236
+ fact: this.params.fact,
237
+ globalPath,
238
+ projectPath,
192
239
  fileDiff,
193
- originalContent: `scope: global\n\n# INSTRUCTIONS:\n# - Click "Yes" to save to GLOBAL memory: ${globalPath}\n# - Click "Modify with external editor" and change "global" to "project" to save to PROJECT memory: ${projectPath}\n\n${currentContent}`,
194
- newContent: `scope: global\n\n# INSTRUCTIONS:\n# - Click "Yes" to save to GLOBAL memory: ${globalPath}\n# - Click "Modify with external editor" and change "global" to "project" to save to PROJECT memory: ${projectPath}\n\n${newContent}`,
195
- onConfirm: async (_outcome) => {
196
- // Will be handled in createUpdatedParams
240
+ onConfirm: async (outcome) => {
241
+ // Handle the outcome - set the scope based on user choice
242
+ if (outcome === ToolConfirmationOutcome.SaveToGlobal) {
243
+ this.params.scope = 'global';
244
+ }
245
+ else if (outcome === ToolConfirmationOutcome.SaveToProject) {
246
+ this.params.scope = 'project';
247
+ }
248
+ // Cancel will be handled by the caller
197
249
  },
198
250
  };
199
251
  return confirmationDetails;
@@ -202,7 +254,8 @@ Preview of changes to be made to GLOBAL memory:
202
254
  const scope = this.params.scope;
203
255
  const memoryFilePath = getMemoryFilePath(scope);
204
256
  const allowlistKey = `${memoryFilePath}_${scope}`;
205
- if (MemoryToolInvocation.allowlist.has(allowlistKey)) {
257
+ const allowlist = this.getAllowlist();
258
+ if (allowlist.has(allowlistKey)) {
206
259
  return false;
207
260
  }
208
261
  // Read current content of the memory file
@@ -221,7 +274,14 @@ Preview of changes to be made to GLOBAL memory:
221
274
  newContent,
222
275
  onConfirm: async (outcome) => {
223
276
  if (outcome === ToolConfirmationOutcome.ProceedAlways) {
224
- MemoryToolInvocation.allowlist.add(allowlistKey);
277
+ // Save to persistent storage
278
+ const currentScopes = this.config.getApprovedMemoryScopes();
279
+ const newScopes = [...new Set([...currentScopes, allowlistKey])];
280
+ this.config.saveApprovedMemoryScopes(newScopes);
281
+ }
282
+ else if (outcome === ToolConfirmationOutcome.ProceedOnce) {
283
+ // Add to session-only allowlist
284
+ MemoryToolInvocation.sessionAllowlist.add(allowlistKey);
225
285
  }
226
286
  },
227
287
  };
@@ -236,23 +296,18 @@ Preview of changes to be made to GLOBAL memory:
236
296
  returnDisplay: `Error: ${errorMessage}`,
237
297
  };
238
298
  }
239
- // If scope is not specified and user didn't modify content, return error prompting for choice
240
- if (!this.params.scope && !modified_by_user) {
241
- const globalPath = tildeifyPath(getMemoryFilePath('global'));
242
- const projectPath = tildeifyPath(getMemoryFilePath('project'));
243
- const errorMessage = `Please specify where to save this memory:
244
-
245
- Global: ${globalPath} (shared across all projects)
246
- Project: ${projectPath} (current project only)`;
299
+ // If scope is still not set after confirmation, user cancelled
300
+ if (!this.params.scope) {
247
301
  return {
248
302
  llmContent: JSON.stringify({
249
303
  success: false,
250
- error: 'Please specify where to save this memory',
304
+ cancelled: true,
305
+ message: 'Memory save cancelled by user',
251
306
  }),
252
- returnDisplay: errorMessage,
307
+ returnDisplay: 'Memory save cancelled.',
253
308
  };
254
309
  }
255
- const scope = this.params.scope || 'global';
310
+ const scope = this.params.scope;
256
311
  const memoryFilePath = getMemoryFilePath(scope);
257
312
  try {
258
313
  if (modified_by_user && modified_content !== undefined) {
@@ -305,18 +360,22 @@ Project: ${projectPath} (current project only)`;
305
360
  }
306
361
  }
307
362
  export class MemoryTool extends BaseDeclarativeTool {
363
+ config;
364
+ isNonInteractive;
308
365
  static Name = memoryToolSchemaData.name;
309
- constructor() {
310
- super(MemoryTool.Name, 'SaveMemory', memoryToolDescription, Kind.Think, memoryToolSchemaData.parametersJsonSchema);
311
- }
312
366
  validateToolParamValues(params) {
313
367
  if (params.fact.trim() === '') {
314
368
  return 'Parameter "fact" must be a non-empty string.';
315
369
  }
316
370
  return null;
317
371
  }
372
+ constructor(config, isNonInteractive = false) {
373
+ super(MemoryTool.Name, 'SaveMemory', getMemoryToolDescription(isNonInteractive), Kind.Think, memoryToolSchemaData.parametersJsonSchema);
374
+ this.config = config;
375
+ this.isNonInteractive = isNonInteractive;
376
+ }
318
377
  createInvocation(params) {
319
- return new MemoryToolInvocation(params);
378
+ return new MemoryToolInvocation(params, this.config, this.isNonInteractive);
320
379
  }
321
380
  static async performAddMemoryEntry(text, memoryFilePath, fsAdapter) {
322
381
  let processedText = text.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"memoryTool.js","sourceRoot":"","sources":["../../../src/tools/memoryTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryTool.js","sourceRoot":"","sources":["../../../src/tools/memoryTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { ToolInvocation, ToolResult } from './tools.js';
7
+ import { BaseDeclarativeTool } from './tools.js';
8
+ import type { Config } from '../config/config.js';
9
+ /**
10
+ * Parameters for the ReadDataFile tool
11
+ */
12
+ export interface ReadDataFileToolParams {
13
+ /**
14
+ * The absolute path to the data file to read and parse
15
+ */
16
+ absolute_path: string;
17
+ /**
18
+ * Maximum number of rows to DISPLAY in output (optional, default: 100 for display)
19
+ */
20
+ max_rows?: number;
21
+ }
22
+ /**
23
+ * Tool for reading and parsing data files (CSV, JSON, TXT, XLSX, DOCX)
24
+ */
25
+ export declare class ReadDataFileTool extends BaseDeclarativeTool<ReadDataFileToolParams, ToolResult> {
26
+ private config;
27
+ static readonly Name: string;
28
+ constructor(config: Config);
29
+ protected validateToolParamValues(params: ReadDataFileToolParams): string | null;
30
+ protected createInvocation(params: ReadDataFileToolParams): ToolInvocation<ReadDataFileToolParams, ToolResult>;
31
+ }