@blackbox_ai/blackbox-cli-core 0.0.7 → 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 (255) 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 +11 -5
  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/coreToolScheduler.js +2 -2
  27. package/dist/src/core/coreToolScheduler.js.map +1 -1
  28. package/dist/src/core/encryptedClientFactory.d.ts +17 -0
  29. package/dist/src/core/encryptedClientFactory.js +92 -0
  30. package/dist/src/core/encryptedClientFactory.js.map +1 -0
  31. package/dist/src/core/encryptedContentGenerator.d.ts +47 -0
  32. package/dist/src/core/encryptedContentGenerator.js +445 -0
  33. package/dist/src/core/encryptedContentGenerator.js.map +1 -0
  34. package/dist/src/core/encryptedGeminiClient.d.ts +59 -0
  35. package/dist/src/core/encryptedGeminiClient.js +177 -0
  36. package/dist/src/core/encryptedGeminiClient.js.map +1 -0
  37. package/dist/src/core/encryptedGeminiClientBridge.d.ts +107 -0
  38. package/dist/src/core/encryptedGeminiClientBridge.js +808 -0
  39. package/dist/src/core/encryptedGeminiClientBridge.js.map +1 -0
  40. package/dist/src/core/encryptedGeminiClientWrapper.d.ts +129 -0
  41. package/dist/src/core/encryptedGeminiClientWrapper.js +305 -0
  42. package/dist/src/core/encryptedGeminiClientWrapper.js.map +1 -0
  43. package/dist/src/core/encryptedTurn.d.ts +40 -0
  44. package/dist/src/core/encryptedTurn.js +114 -0
  45. package/dist/src/core/encryptedTurn.js.map +1 -0
  46. package/dist/src/core/logger.d.ts +21 -0
  47. package/dist/src/core/logger.js +110 -0
  48. package/dist/src/core/logger.js.map +1 -1
  49. package/dist/src/core/openaiContentGenerator/constants.d.ts +2 -0
  50. package/dist/src/core/openaiContentGenerator/constants.js +2 -0
  51. package/dist/src/core/openaiContentGenerator/constants.js.map +1 -1
  52. package/dist/src/core/openaiContentGenerator/converter.d.ts +16 -1
  53. package/dist/src/core/openaiContentGenerator/converter.js +135 -4
  54. package/dist/src/core/openaiContentGenerator/converter.js.map +1 -1
  55. package/dist/src/core/openaiContentGenerator/pipeline.js +22 -8
  56. package/dist/src/core/openaiContentGenerator/pipeline.js.map +1 -1
  57. package/dist/src/core/openaiContentGenerator/pipeline.test.js +51 -0
  58. package/dist/src/core/openaiContentGenerator/pipeline.test.js.map +1 -1
  59. package/dist/src/core/openaiContentGenerator/provider/default.js +10 -1
  60. package/dist/src/core/openaiContentGenerator/provider/default.js.map +1 -1
  61. package/dist/src/core/prompts.d.ts +18 -1
  62. package/dist/src/core/prompts.js +388 -459
  63. package/dist/src/core/prompts.js.map +1 -1
  64. package/dist/src/core/tokenLimits.d.ts +1 -0
  65. package/dist/src/core/tokenLimits.js +37 -2
  66. package/dist/src/core/tokenLimits.js.map +1 -1
  67. package/dist/src/core/tokenLimits.test.js +36 -1
  68. package/dist/src/core/tokenLimits.test.js.map +1 -1
  69. package/dist/src/encrypt/attestation.d.ts +5 -0
  70. package/dist/src/encrypt/attestation.js +100 -0
  71. package/dist/src/encrypt/attestation.js.map +1 -0
  72. package/dist/src/encrypt/client.d.ts +14 -0
  73. package/dist/src/encrypt/client.js +132 -0
  74. package/dist/src/encrypt/client.js.map +1 -0
  75. package/dist/src/encrypt/config.d.ts +22 -0
  76. package/dist/src/encrypt/config.js +43 -0
  77. package/dist/src/encrypt/config.js.map +1 -0
  78. package/dist/src/encrypt/crypto-utils.d.ts +57 -0
  79. package/dist/src/encrypt/crypto-utils.js +257 -0
  80. package/dist/src/encrypt/crypto-utils.js.map +1 -0
  81. package/dist/src/encrypt/history-manager.d.ts +43 -0
  82. package/dist/src/encrypt/history-manager.js +164 -0
  83. package/dist/src/encrypt/history-manager.js.map +1 -0
  84. package/dist/src/encrypt/minimax-template.d.ts +73 -0
  85. package/dist/src/encrypt/minimax-template.js +276 -0
  86. package/dist/src/encrypt/minimax-template.js.map +1 -0
  87. package/dist/src/encrypt/sessions.d.ts +17 -0
  88. package/dist/src/encrypt/sessions.js +221 -0
  89. package/dist/src/encrypt/sessions.js.map +1 -0
  90. package/dist/src/encrypt/streaming-client.d.ts +29 -0
  91. package/dist/src/encrypt/streaming-client.js +232 -0
  92. package/dist/src/encrypt/streaming-client.js.map +1 -0
  93. package/dist/src/encrypt/tool-formatter.d.ts +36 -0
  94. package/dist/src/encrypt/tool-formatter.js +353 -0
  95. package/dist/src/encrypt/tool-formatter.js.map +1 -0
  96. package/dist/src/encrypt/tool-parser.d.ts +93 -0
  97. package/dist/src/encrypt/tool-parser.js +567 -0
  98. package/dist/src/encrypt/tool-parser.js.map +1 -0
  99. package/dist/src/encrypt/types.d.ts +81 -0
  100. package/dist/src/encrypt/types.js +2 -0
  101. package/dist/src/encrypt/types.js.map +1 -0
  102. package/dist/src/generated/git-commit.d.ts +3 -3
  103. package/dist/src/generated/git-commit.js +3 -3
  104. package/dist/src/ide/ide-client.js +9 -19
  105. package/dist/src/ide/ide-client.js.map +1 -1
  106. package/dist/src/index.d.ts +15 -0
  107. package/dist/src/index.js +15 -0
  108. package/dist/src/index.js.map +1 -1
  109. package/dist/src/mcp/oauth-provider.js +2 -6
  110. package/dist/src/mcp/oauth-provider.js.map +1 -1
  111. package/dist/src/mcp/oauth-token-storage.d.ts +7 -0
  112. package/dist/src/mcp/oauth-token-storage.js +24 -0
  113. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  114. package/dist/src/services/EncryptedChatService.d.ts +80 -0
  115. package/dist/src/services/EncryptedChatService.js +202 -0
  116. package/dist/src/services/EncryptedChatService.js.map +1 -0
  117. package/dist/src/services/StatsHistoryService.d.ts +131 -0
  118. package/dist/src/services/StatsHistoryService.js +427 -0
  119. package/dist/src/services/StatsHistoryService.js.map +1 -0
  120. package/dist/src/services/checkpointApiService.d.ts +101 -0
  121. package/dist/src/services/checkpointApiService.js +215 -0
  122. package/dist/src/services/checkpointApiService.js.map +1 -0
  123. package/dist/src/services/environmentSanitization.d.ts +24 -0
  124. package/dist/src/services/environmentSanitization.js +152 -0
  125. package/dist/src/services/environmentSanitization.js.map +1 -0
  126. package/dist/src/telemetry/blackbox-logger/blackbox-logger.d.ts +2 -6
  127. package/dist/src/telemetry/blackbox-logger/blackbox-logger.js +29 -135
  128. package/dist/src/telemetry/blackbox-logger/blackbox-logger.js.map +1 -1
  129. package/dist/src/telemetry/blackbox-logger/blackbox-logger.test.js +1 -1
  130. package/dist/src/telemetry/blackbox-logger/blackbox-logger.test.js.map +1 -1
  131. package/dist/src/telemetry/uiTelemetry.d.ts +8 -0
  132. package/dist/src/telemetry/uiTelemetry.js +17 -0
  133. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  134. package/dist/src/tools/browser-interactive.d.ts +63 -0
  135. package/dist/src/tools/browser-interactive.js +394 -0
  136. package/dist/src/tools/browser-interactive.js.map +1 -0
  137. package/dist/src/tools/browser_use.d.ts +23 -2
  138. package/dist/src/tools/browser_use.js +424 -43
  139. package/dist/src/tools/browser_use.js.map +1 -1
  140. package/dist/src/tools/data-file-constants.d.ts +17 -0
  141. package/dist/src/tools/data-file-constants.js +30 -0
  142. package/dist/src/tools/data-file-constants.js.map +1 -0
  143. package/dist/src/tools/edit.js +44 -7
  144. package/dist/src/tools/edit.js.map +1 -1
  145. package/dist/src/tools/exitPlanMode.js +1 -1
  146. package/dist/src/tools/exitPlanMode.js.map +1 -1
  147. package/dist/src/tools/ls.js +40 -6
  148. package/dist/src/tools/ls.js.map +1 -1
  149. package/dist/src/tools/ls.test.js +4 -4
  150. package/dist/src/tools/ls.test.js.map +1 -1
  151. package/dist/src/tools/mcp-client-manager.d.ts +28 -2
  152. package/dist/src/tools/mcp-client-manager.js +62 -4
  153. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  154. package/dist/src/tools/mcp-client.d.ts +5 -3
  155. package/dist/src/tools/mcp-client.js +39 -11
  156. package/dist/src/tools/mcp-client.js.map +1 -1
  157. package/dist/src/tools/mcp-tool.d.ts +3 -1
  158. package/dist/src/tools/mcp-tool.js +37 -9
  159. package/dist/src/tools/mcp-tool.js.map +1 -1
  160. package/dist/src/tools/memoryTool.d.ts +14 -4
  161. package/dist/src/tools/memoryTool.js +98 -39
  162. package/dist/src/tools/memoryTool.js.map +1 -1
  163. package/dist/src/tools/read-data-file.d.ts +31 -0
  164. package/dist/src/tools/read-data-file.js +469 -0
  165. package/dist/src/tools/read-data-file.js.map +1 -0
  166. package/dist/src/tools/read-file.js +64 -5
  167. package/dist/src/tools/read-file.js.map +1 -1
  168. package/dist/src/tools/read-file.test.js +40 -6
  169. package/dist/src/tools/read-file.test.js.map +1 -1
  170. package/dist/src/tools/shell.d.ts +3 -1
  171. package/dist/src/tools/shell.js +25 -4
  172. package/dist/src/tools/shell.js.map +1 -1
  173. package/dist/src/tools/skill.d.ts +34 -0
  174. package/dist/src/tools/skill.js +143 -0
  175. package/dist/src/tools/skill.js.map +1 -0
  176. package/dist/src/tools/sql_db.d.ts +101 -0
  177. package/dist/src/tools/sql_db.js +1033 -0
  178. package/dist/src/tools/sql_db.js.map +1 -0
  179. package/dist/src/tools/sql_db_configure.d.ts +18 -0
  180. package/dist/src/tools/sql_db_configure.js +96 -0
  181. package/dist/src/tools/sql_db_configure.js.map +1 -0
  182. package/dist/src/tools/taskCompletion.d.ts +29 -0
  183. package/dist/src/tools/taskCompletion.js +231 -0
  184. package/dist/src/tools/taskCompletion.js.map +1 -0
  185. package/dist/src/tools/todoWrite.js +0 -142
  186. package/dist/src/tools/todoWrite.js.map +1 -1
  187. package/dist/src/tools/tool-error.d.ts +3 -1
  188. package/dist/src/tools/tool-error.js +3 -0
  189. package/dist/src/tools/tool-error.js.map +1 -1
  190. package/dist/src/tools/tool-names.d.ts +8 -0
  191. package/dist/src/tools/tool-names.js +8 -0
  192. package/dist/src/tools/tool-names.js.map +1 -1
  193. package/dist/src/tools/tool-registry.d.ts +22 -0
  194. package/dist/src/tools/tool-registry.js +41 -1
  195. package/dist/src/tools/tool-registry.js.map +1 -1
  196. package/dist/src/tools/tools.d.ts +18 -2
  197. package/dist/src/tools/tools.js +3 -0
  198. package/dist/src/tools/tools.js.map +1 -1
  199. package/dist/src/tools/web-fetch.js +24 -4
  200. package/dist/src/tools/web-fetch.js.map +1 -1
  201. package/dist/src/tools/web-search.js +160 -2
  202. package/dist/src/tools/web-search.js.map +1 -1
  203. package/dist/src/tools/workspace-error-helper.d.ts +9 -0
  204. package/dist/src/tools/workspace-error-helper.js +43 -0
  205. package/dist/src/tools/workspace-error-helper.js.map +1 -0
  206. package/dist/src/tools/workspace-error-helper.test.js +85 -0
  207. package/dist/src/tools/workspace-error-helper.test.js.map +1 -0
  208. package/dist/src/tools/write-file.js +42 -7
  209. package/dist/src/tools/write-file.js.map +1 -1
  210. package/dist/src/utils/environmentContext.js +3 -1
  211. package/dist/src/utils/environmentContext.js.map +1 -1
  212. package/dist/src/utils/environmentContext.test.js +3 -2
  213. package/dist/src/utils/environmentContext.test.js.map +1 -1
  214. package/dist/src/utils/fetch.d.ts +3 -1
  215. package/dist/src/utils/fetch.js +35 -2
  216. package/dist/src/utils/fetch.js.map +1 -1
  217. package/dist/src/utils/fileUtils.js +30 -3
  218. package/dist/src/utils/fileUtils.js.map +1 -1
  219. package/dist/src/utils/filesearch/fileSearch.d.ts +2 -0
  220. package/dist/src/utils/filesearch/fileSearch.js +38 -7
  221. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  222. package/dist/src/utils/git-worktree-utils.d.ts +56 -0
  223. package/dist/src/utils/git-worktree-utils.js +176 -0
  224. package/dist/src/utils/git-worktree-utils.js.map +1 -0
  225. package/dist/src/utils/imageCompression.d.ts +34 -0
  226. package/dist/src/utils/imageCompression.js +170 -0
  227. package/dist/src/utils/imageCompression.js.map +1 -0
  228. package/dist/src/utils/messageTruncator.d.ts +51 -0
  229. package/dist/src/utils/messageTruncator.js +346 -0
  230. package/dist/src/utils/messageTruncator.js.map +1 -0
  231. package/dist/src/utils/pathReader.js +26 -6
  232. package/dist/src/utils/pathReader.js.map +1 -1
  233. package/dist/src/utils/skill.d.ts +65 -0
  234. package/dist/src/utils/skill.js +241 -0
  235. package/dist/src/utils/skill.js.map +1 -0
  236. package/dist/src/utils/textCleaning.d.ts +51 -0
  237. package/dist/src/utils/textCleaning.js +327 -0
  238. package/dist/src/utils/textCleaning.js.map +1 -0
  239. package/dist/tsconfig.tsbuildinfo +1 -1
  240. package/package.json +19 -6
  241. package/dist/src/tools/mcp-client-manager.test.js +0 -39
  242. package/dist/src/tools/mcp-client-manager.test.js.map +0 -1
  243. package/dist/src/tools/mcp-client.test.d.ts +0 -6
  244. package/dist/src/tools/mcp-client.test.js +0 -454
  245. package/dist/src/tools/mcp-client.test.js.map +0 -1
  246. package/dist/src/tools/mcp-tool.test.d.ts +0 -6
  247. package/dist/src/tools/mcp-tool.test.js +0 -576
  248. package/dist/src/tools/mcp-tool.test.js.map +0 -1
  249. package/dist/src/tools/memoryTool.test.d.ts +0 -6
  250. package/dist/src/tools/memoryTool.test.js +0 -420
  251. package/dist/src/tools/memoryTool.test.js.map +0 -1
  252. package/dist/src/tools/tool-registry.test.d.ts +0 -6
  253. package/dist/src/tools/tool-registry.test.js +0 -332
  254. package/dist/src/tools/tool-registry.test.js.map +0 -1
  255. /package/dist/src/tools/{mcp-client-manager.test.d.ts → workspace-error-helper.test.d.ts} +0 -0
@@ -6,6 +6,7 @@
6
6
  import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
7
7
  import { ReadFileTool } from './read-file.js';
8
8
  import { ToolErrorType } from './tool-error.js';
9
+ import { ToolConfirmationOutcome } from './tools.js';
9
10
  import path from 'node:path';
10
11
  import os from 'node:os';
11
12
  import fs from 'node:fs';
@@ -51,12 +52,6 @@ describe('ReadFileTool', () => {
51
52
  };
52
53
  expect(() => tool.build(params)).toThrow('File path must be absolute, but was relative: relative/path.txt. You must provide an absolute path.');
53
54
  });
54
- it('should throw error if path is outside root', () => {
55
- const params = {
56
- absolute_path: '/outside/root.txt',
57
- };
58
- expect(() => tool.build(params)).toThrow(/File path must be within one of the workspace directories/);
59
- });
60
55
  it('should throw error if path is empty', () => {
61
56
  const params = {
62
57
  absolute_path: '',
@@ -78,6 +73,45 @@ describe('ReadFileTool', () => {
78
73
  expect(() => tool.build(params)).toThrow('Limit must be a positive number');
79
74
  });
80
75
  });
76
+ describe('shouldConfirmExecute', () => {
77
+ const abortSignal = new AbortController().signal;
78
+ it('should not require confirmation for paths within the workspace', async () => {
79
+ const filePath = path.join(tempRootDir, 'inside.txt');
80
+ const params = {
81
+ absolute_path: filePath,
82
+ };
83
+ const invocation = tool.build(params);
84
+ const confirmation = await invocation.shouldConfirmExecute(abortSignal);
85
+ expect(confirmation).toBe(false);
86
+ });
87
+ it('should request confirmation for paths outside the workspace', async () => {
88
+ const externalPath = path.join('/outside', 'root.txt');
89
+ const params = {
90
+ absolute_path: externalPath,
91
+ };
92
+ const invocation = tool.build(params);
93
+ const confirmation = (await invocation.shouldConfirmExecute(abortSignal));
94
+ expect(confirmation).not.toBe(false);
95
+ expect(confirmation.type).toBe('info');
96
+ if (confirmation.type === 'info') {
97
+ expect(confirmation.title).toContain('Confirm External File Read');
98
+ expect(confirmation.prompt).toContain(externalPath);
99
+ }
100
+ });
101
+ it('should skip confirmation after user approves an external path', async () => {
102
+ const externalPath = path.join('/outside', 'approved.txt');
103
+ const params = {
104
+ absolute_path: externalPath,
105
+ };
106
+ const firstInvocation = tool.build(params);
107
+ const firstConfirmation = (await firstInvocation.shouldConfirmExecute(abortSignal));
108
+ expect(firstConfirmation).not.toBe(false);
109
+ await firstConfirmation.onConfirm(ToolConfirmationOutcome.ProceedAlways);
110
+ const secondInvocation = tool.build(params);
111
+ const secondConfirmation = await secondInvocation.shouldConfirmExecute(abortSignal);
112
+ expect(secondConfirmation).toBe(false);
113
+ });
114
+ });
81
115
  describe('getDescription', () => {
82
116
  it('should return relative path without limit/offset', () => {
83
117
  const subDir = path.join(tempRootDir, 'sub', 'dir');
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.test.js","sourceRoot":"","sources":["../../../src/tools/read-file.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-file.test.js","sourceRoot":"","sources":["../../../src/tools/read-file.test.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,10 @@ export interface ShellToolParams {
16
16
  export declare class ShellTool extends BaseDeclarativeTool<ShellToolParams, ToolResult> {
17
17
  private readonly config;
18
18
  static Name: string;
19
- private allowlist;
19
+ private sessionAllowlist;
20
20
  constructor(config: Config);
21
+ getAllowlist(): Set<string>;
22
+ addToSessionAllowlist(command: string): void;
21
23
  protected validateToolParamValues(params: ShellToolParams): string | null;
22
24
  protected createInvocation(params: ShellToolParams): ToolInvocation<ShellToolParams, ToolResult>;
23
25
  }
@@ -19,10 +19,12 @@ export const OUTPUT_UPDATE_INTERVAL_MS = 1000;
19
19
  class ShellToolInvocation extends BaseToolInvocation {
20
20
  config;
21
21
  allowlist;
22
- constructor(config, params, allowlist) {
22
+ shellTool;
23
+ constructor(config, params, allowlist, shellTool) {
23
24
  super(params);
24
25
  this.config = config;
25
26
  this.allowlist = allowlist;
27
+ this.shellTool = shellTool;
26
28
  }
27
29
  getDescription() {
28
30
  let description = `${this.params.command}`;
@@ -59,7 +61,14 @@ class ShellToolInvocation extends BaseToolInvocation {
59
61
  rootCommand: commandsToConfirm.join(', '),
60
62
  onConfirm: async (outcome) => {
61
63
  if (outcome === ToolConfirmationOutcome.ProceedAlways) {
62
- commandsToConfirm.forEach((command) => this.allowlist.add(command));
64
+ // Save to persistent storage
65
+ const currentPersistentCommands = this.config.getApprovedShellCommands();
66
+ const newPersistentCommands = [...new Set([...currentPersistentCommands, ...commandsToConfirm])];
67
+ this.config.saveApprovedShellCommands(newPersistentCommands);
68
+ }
69
+ else if (outcome === ToolConfirmationOutcome.ProceedOnce) {
70
+ // Add to session-only allowlist via the parent ShellTool
71
+ commandsToConfirm.forEach((command) => this.shellTool.addToSessionAllowlist(command));
63
72
  }
64
73
  },
65
74
  };
@@ -347,7 +356,7 @@ function getCommandDescription() {
347
356
  export class ShellTool extends BaseDeclarativeTool {
348
357
  config;
349
358
  static Name = ToolNames.SHELL;
350
- allowlist = new Set();
359
+ sessionAllowlist = new Set();
351
360
  constructor(config) {
352
361
  super(ShellTool.Name, 'Shell', getShellToolDescription(), Kind.Execute, {
353
362
  type: 'object',
@@ -373,6 +382,18 @@ export class ShellTool extends BaseDeclarativeTool {
373
382
  }, false, // output is not markdown
374
383
  true);
375
384
  this.config = config;
385
+ // Note: We don't load approved commands here anymore.
386
+ // Instead, we load them fresh each time in shouldConfirmExecute()
387
+ // to ensure we always have the latest from the settings file.
388
+ }
389
+ getAllowlist() {
390
+ // Combine persistent approved commands from settings with session-only approvals
391
+ const persistentCommands = this.config.getApprovedShellCommands();
392
+ const combined = new Set([...persistentCommands, ...this.sessionAllowlist]);
393
+ return combined;
394
+ }
395
+ addToSessionAllowlist(command) {
396
+ this.sessionAllowlist.add(command);
376
397
  }
377
398
  validateToolParamValues(params) {
378
399
  const commandCheck = isCommandAllowed(params.command, this.config);
@@ -405,7 +426,7 @@ export class ShellTool extends BaseDeclarativeTool {
405
426
  return null;
406
427
  }
407
428
  createInvocation(params) {
408
- return new ShellToolInvocation(this.config, params, this.allowlist);
429
+ return new ShellToolInvocation(this.config, params, this.getAllowlist(), this);
409
430
  }
410
431
  }
411
432
  //# sourceMappingURL=shell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/tools/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/tools/shell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { ToolResult } from './tools.js';
7
+ import { BaseDeclarativeTool, BaseToolInvocation } from './tools.js';
8
+ import type { Config } from '../config/config.js';
9
+ interface SkillParams {
10
+ skill_name: string;
11
+ }
12
+ declare class SkillToolInvocation extends BaseToolInvocation<SkillParams, ToolResult> {
13
+ constructor(params: SkillParams, _config: Config);
14
+ getDescription(): string;
15
+ execute(_signal: AbortSignal): Promise<ToolResult>;
16
+ }
17
+ export declare class SkillTool extends BaseDeclarativeTool<SkillParams, ToolResult> {
18
+ static readonly Name: string;
19
+ private availableSkills;
20
+ protected validateToolParamValues(params: SkillParams): string | null;
21
+ constructor(_config: Config);
22
+ private loadAvailableSkills;
23
+ get schema(): {
24
+ description: string;
25
+ behavior?: import("@google/genai").Behavior;
26
+ name?: string;
27
+ parameters?: import("@google/genai").Schema;
28
+ parametersJsonSchema?: unknown;
29
+ response?: import("@google/genai").Schema;
30
+ responseJsonSchema?: unknown;
31
+ };
32
+ protected createInvocation(params: SkillParams): SkillToolInvocation;
33
+ }
34
+ export {};
@@ -0,0 +1,143 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind } from './tools.js';
7
+ import { getSkillContent } from '../utils/skill.js';
8
+ import { ToolErrorType } from './tool-error.js';
9
+ const skillToolSchemaData = {
10
+ name: 'skill',
11
+ description: 'Execute a skill within the main conversation. When users ask you to perform tasks, check if any of the available skills can help complete the task more effectively. Skills provide specialized capabilities and domain knowledge.',
12
+ parametersJsonSchema: {
13
+ type: 'object',
14
+ properties: {
15
+ skill_name: {
16
+ type: 'string',
17
+ description: 'The name of the skill to execute from the available skills list.',
18
+ },
19
+ },
20
+ required: ['skill_name'],
21
+ },
22
+ };
23
+ const skillToolDescription = `
24
+ Execute a skill within the main conversation.
25
+
26
+ ## When to Use
27
+
28
+ When users ask you to perform tasks, check if any of the available skills can help complete the task more effectively. Skills provide specialized capabilities and domain knowledge.
29
+
30
+ ## How to Invoke
31
+
32
+ - Use this tool with the skill name only (no arguments)
33
+ - Examples:
34
+ - skill(skill_name="frontend") - invoke the frontend skill
35
+ - skill(skill_name="pdf") - invoke the pdf skill
36
+ - skill(skill_name="xlsx") - invoke the xlsx skill
37
+
38
+ ## Important
39
+
40
+ - When a skill is relevant, you must invoke this tool IMMEDIATELY as your first action
41
+ - NEVER just announce or mention a skill in your text response without actually calling this tool
42
+ - This is a BLOCKING REQUIREMENT: invoke the relevant skill tool BEFORE generating any other response about the task
43
+ - Only use skills listed in the available skills
44
+ - Do not invoke a skill that is already running
45
+
46
+ ## Parameters
47
+
48
+ - \`skill_name\` (string, required): The name of the skill to execute from the available skills list.
49
+ `;
50
+ class SkillToolInvocation extends BaseToolInvocation {
51
+ constructor(params, _config) {
52
+ super(params);
53
+ }
54
+ getDescription() {
55
+ return `Loading skill: ${this.params.skill_name}`;
56
+ }
57
+ async execute(_signal) {
58
+ const { skill_name } = this.params;
59
+ if (!skill_name || typeof skill_name !== 'string' || skill_name.trim() === '') {
60
+ const errorMessage = 'Parameter "skill_name" must be a non-empty string.';
61
+ return {
62
+ llmContent: errorMessage,
63
+ returnDisplay: `Error: ${errorMessage}`,
64
+ error: {
65
+ message: errorMessage,
66
+ type: ToolErrorType.INVALID_TOOL_PARAMS,
67
+ },
68
+ };
69
+ }
70
+ try {
71
+ const workspaceRoot = process.cwd();
72
+ const skillData = await getSkillContent(workspaceRoot, skill_name.trim());
73
+ if (!skillData) {
74
+ const errorMessage = `Skill "${skill_name}" not found. Please check the skill name and try again.`;
75
+ return {
76
+ llmContent: errorMessage,
77
+ returnDisplay: `Error: ${errorMessage}`,
78
+ error: {
79
+ message: errorMessage,
80
+ type: ToolErrorType.EXECUTION_FAILED,
81
+ },
82
+ };
83
+ }
84
+ const result = `Base directory for this skill: ${skillData.baseDir}\n\n${skillData.content}`;
85
+ return {
86
+ llmContent: result,
87
+ returnDisplay: `Skill "${skill_name}" loaded successfully.`,
88
+ };
89
+ }
90
+ catch (error) {
91
+ const errorMessage = error instanceof Error ? error.message : String(error);
92
+ console.error(`[SkillTool] Error executing skill "${skill_name}": ${errorMessage}`);
93
+ return {
94
+ llmContent: `Failed to load skill "${skill_name}". Detail: ${errorMessage}`,
95
+ returnDisplay: `Error loading skill: ${errorMessage}`,
96
+ error: {
97
+ message: errorMessage,
98
+ type: ToolErrorType.EXECUTION_FAILED,
99
+ },
100
+ };
101
+ }
102
+ }
103
+ }
104
+ export class SkillTool extends BaseDeclarativeTool {
105
+ static Name = skillToolSchemaData.name;
106
+ availableSkills;
107
+ validateToolParamValues(params) {
108
+ if (!params.skill_name || params.skill_name.trim() === '') {
109
+ return 'Parameter "skill_name" must be a non-empty string.';
110
+ }
111
+ return null;
112
+ }
113
+ constructor(_config) {
114
+ super(SkillTool.Name, 'Skill', skillToolDescription, Kind.Other, skillToolSchemaData.parametersJsonSchema, true, // isOutputMarkdown
115
+ false);
116
+ // Load available skills asynchronously
117
+ this.loadAvailableSkills();
118
+ }
119
+ async loadAvailableSkills() {
120
+ try {
121
+ const { getAvailableSkills } = await import('../utils/skill.js');
122
+ this.availableSkills = await getAvailableSkills(process.cwd());
123
+ }
124
+ catch (error) {
125
+ console.debug('Failed to load available skills:', error);
126
+ }
127
+ }
128
+ // Override schema getter to inject available skills dynamically
129
+ get schema() {
130
+ const baseSchema = super.schema;
131
+ const skillsSection = this.availableSkills
132
+ ? `\n\n<available_skills>\n${this.availableSkills}\n</available_skills>`
133
+ : '\n\n<available_skills>\nNo skills are available in the environment\n</available_skills>';
134
+ return {
135
+ ...baseSchema,
136
+ description: baseSchema.description + skillsSection,
137
+ };
138
+ }
139
+ createInvocation(params) {
140
+ return new SkillToolInvocation(params, {});
141
+ }
142
+ }
143
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/tools/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Config } from '../config/config.js';
7
+ import type { ToolInvocation, ToolResult } from './tools.js';
8
+ import { BaseDeclarativeTool } from './tools.js';
9
+ export type DatabaseType = 'postgres' | 'mysql' | 'mongodb' | 'redis';
10
+ export interface RedisKey {
11
+ key: string;
12
+ type?: string;
13
+ values?: unknown[];
14
+ }
15
+ /**
16
+ * Database connection result interface
17
+ */
18
+ export interface DbConnectionResult {
19
+ success: boolean;
20
+ message: string;
21
+ schema?: {
22
+ tables: Array<{
23
+ table_name: string;
24
+ table_schema: string;
25
+ }>;
26
+ collections?: Array<{
27
+ collection_name: string;
28
+ database_name: string;
29
+ }>;
30
+ columns?: Record<string, Array<{
31
+ column_name: string;
32
+ data_type: string;
33
+ is_nullable: string;
34
+ }>>;
35
+ redisKeys?: RedisKey[];
36
+ sampleDocuments?: Record<string, unknown[]>;
37
+ };
38
+ error?: string;
39
+ }
40
+ /**
41
+ * Database query result interface
42
+ */
43
+ export interface DbQueryResult {
44
+ success: boolean;
45
+ message: string;
46
+ rows?: unknown[];
47
+ rowCount?: number;
48
+ error?: string;
49
+ }
50
+ /**
51
+ * Singleton database session manager (supports PostgreSQL, MySQL, MongoDB, and Redis)
52
+ */
53
+ export declare class SqlSessionManager {
54
+ private pgPool?;
55
+ private mysqlPool?;
56
+ private mongoClient?;
57
+ private mongoDb?;
58
+ private redisClient?;
59
+ private connectionString?;
60
+ private dbType?;
61
+ private static instance?;
62
+ private constructor();
63
+ static getInstance(): SqlSessionManager;
64
+ connect(connectionString: string, dbType: DatabaseType, includeSchema?: boolean, mongoDbName?: string): Promise<DbConnectionResult>;
65
+ private fetchSchema;
66
+ private fetchPostgresSchema;
67
+ private fetchMySQLSchema;
68
+ private fetchMongoDBSchema;
69
+ private fetchRedisSchema;
70
+ query(sql: string): Promise<DbQueryResult>;
71
+ private queryPostgres;
72
+ private queryMySQL;
73
+ private queryMongoDB;
74
+ private queryRedis;
75
+ disconnect(): Promise<void>;
76
+ isConnected(): boolean;
77
+ getDatabaseType(): DatabaseType | undefined;
78
+ }
79
+ export interface SqlDbConnectParams {
80
+ connectionString?: string;
81
+ type: DatabaseType;
82
+ includeSchema?: boolean;
83
+ mongoDbName?: string;
84
+ }
85
+ export declare class SqlDbConnectTool extends BaseDeclarativeTool<SqlDbConnectParams, ToolResult> {
86
+ private config;
87
+ static readonly Name: string;
88
+ constructor(config: Config);
89
+ protected validateToolParamValues(params: SqlDbConnectParams): string | null;
90
+ protected createInvocation(params: SqlDbConnectParams): ToolInvocation<SqlDbConnectParams, ToolResult>;
91
+ }
92
+ export interface SqlDbQueryParams {
93
+ sql: string;
94
+ }
95
+ export declare class SqlDbQueryTool extends BaseDeclarativeTool<SqlDbQueryParams, ToolResult> {
96
+ private config;
97
+ static readonly Name: string;
98
+ constructor(config: Config);
99
+ protected validateToolParamValues(params: SqlDbQueryParams): string | null;
100
+ protected createInvocation(params: SqlDbQueryParams): ToolInvocation<SqlDbQueryParams, ToolResult>;
101
+ }