wave-agent-sdk 0.0.14 → 0.0.16

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 (204) hide show
  1. package/dist/agent.d.ts +11 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +71 -11
  4. package/dist/constants/prompts.d.ts +14 -0
  5. package/dist/constants/prompts.d.ts.map +1 -0
  6. package/dist/constants/prompts.js +61 -0
  7. package/dist/constants/tools.d.ts +18 -0
  8. package/dist/constants/tools.d.ts.map +1 -0
  9. package/dist/constants/tools.js +17 -0
  10. package/dist/index.d.ts +4 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +6 -0
  13. package/dist/managers/aiManager.d.ts +8 -2
  14. package/dist/managers/aiManager.d.ts.map +1 -1
  15. package/dist/managers/aiManager.js +52 -16
  16. package/dist/managers/hookManager.d.ts +7 -2
  17. package/dist/managers/hookManager.d.ts.map +1 -1
  18. package/dist/managers/hookManager.js +10 -0
  19. package/dist/managers/liveConfigManager.d.ts +1 -1
  20. package/dist/managers/liveConfigManager.d.ts.map +1 -1
  21. package/dist/managers/liveConfigManager.js +43 -22
  22. package/dist/managers/permissionManager.d.ts +50 -1
  23. package/dist/managers/permissionManager.d.ts.map +1 -1
  24. package/dist/managers/permissionManager.js +289 -58
  25. package/dist/managers/planManager.d.ts +21 -0
  26. package/dist/managers/planManager.d.ts.map +1 -0
  27. package/dist/managers/planManager.js +35 -0
  28. package/dist/managers/pluginManager.d.ts +57 -0
  29. package/dist/managers/pluginManager.d.ts.map +1 -0
  30. package/dist/managers/pluginManager.js +124 -0
  31. package/dist/managers/pluginScopeManager.d.ts +35 -0
  32. package/dist/managers/pluginScopeManager.d.ts.map +1 -0
  33. package/dist/managers/pluginScopeManager.js +39 -0
  34. package/dist/managers/skillManager.d.ts +4 -0
  35. package/dist/managers/skillManager.d.ts.map +1 -1
  36. package/dist/managers/skillManager.js +15 -0
  37. package/dist/managers/slashCommandManager.d.ts +4 -0
  38. package/dist/managers/slashCommandManager.d.ts.map +1 -1
  39. package/dist/managers/slashCommandManager.js +45 -3
  40. package/dist/managers/subagentManager.d.ts.map +1 -1
  41. package/dist/managers/subagentManager.js +3 -1
  42. package/dist/managers/toolManager.d.ts +4 -0
  43. package/dist/managers/toolManager.d.ts.map +1 -1
  44. package/dist/managers/toolManager.js +24 -1
  45. package/dist/services/GitService.d.ts +16 -0
  46. package/dist/services/GitService.d.ts.map +1 -0
  47. package/dist/services/GitService.js +75 -0
  48. package/dist/services/MarketplaceService.d.ts +62 -0
  49. package/dist/services/MarketplaceService.d.ts.map +1 -0
  50. package/dist/services/MarketplaceService.js +320 -0
  51. package/dist/services/aiService.d.ts +1 -0
  52. package/dist/services/aiService.d.ts.map +1 -1
  53. package/dist/services/aiService.js +11 -11
  54. package/dist/services/configurationService.d.ts +11 -4
  55. package/dist/services/configurationService.d.ts.map +1 -1
  56. package/dist/services/configurationService.js +211 -67
  57. package/dist/services/fileWatcher.js +3 -3
  58. package/dist/services/hook.js +1 -1
  59. package/dist/services/pluginLoader.d.ts +35 -0
  60. package/dist/services/pluginLoader.d.ts.map +1 -0
  61. package/dist/services/pluginLoader.js +149 -0
  62. package/dist/tools/askUserQuestion.d.ts +3 -0
  63. package/dist/tools/askUserQuestion.d.ts.map +1 -0
  64. package/dist/tools/askUserQuestion.js +109 -0
  65. package/dist/tools/bashTool.d.ts.map +1 -1
  66. package/dist/tools/bashTool.js +37 -40
  67. package/dist/tools/deleteFileTool.d.ts.map +1 -1
  68. package/dist/tools/deleteFileTool.js +17 -19
  69. package/dist/tools/editTool.d.ts.map +1 -1
  70. package/dist/tools/editTool.js +29 -36
  71. package/dist/tools/exitPlanMode.d.ts +6 -0
  72. package/dist/tools/exitPlanMode.d.ts.map +1 -0
  73. package/dist/tools/exitPlanMode.js +76 -0
  74. package/dist/tools/globTool.d.ts.map +1 -1
  75. package/dist/tools/globTool.js +4 -3
  76. package/dist/tools/grepTool.d.ts.map +1 -1
  77. package/dist/tools/grepTool.js +5 -4
  78. package/dist/tools/lsTool.d.ts.map +1 -1
  79. package/dist/tools/lsTool.js +16 -3
  80. package/dist/tools/lspTool.d.ts.map +1 -1
  81. package/dist/tools/lspTool.js +3 -2
  82. package/dist/tools/multiEditTool.d.ts.map +1 -1
  83. package/dist/tools/multiEditTool.js +24 -31
  84. package/dist/tools/readTool.d.ts.map +1 -1
  85. package/dist/tools/readTool.js +16 -3
  86. package/dist/tools/skillTool.d.ts.map +1 -1
  87. package/dist/tools/skillTool.js +30 -27
  88. package/dist/tools/taskTool.d.ts.map +1 -1
  89. package/dist/tools/taskTool.js +36 -31
  90. package/dist/tools/todoWriteTool.d.ts.map +1 -1
  91. package/dist/tools/todoWriteTool.js +3 -2
  92. package/dist/tools/writeTool.d.ts.map +1 -1
  93. package/dist/tools/writeTool.js +13 -17
  94. package/dist/types/commands.d.ts +1 -0
  95. package/dist/types/commands.d.ts.map +1 -1
  96. package/dist/types/config.d.ts +2 -0
  97. package/dist/types/config.d.ts.map +1 -1
  98. package/dist/types/configuration.d.ts +36 -1
  99. package/dist/types/configuration.d.ts.map +1 -1
  100. package/dist/types/hooks.d.ts +2 -15
  101. package/dist/types/hooks.d.ts.map +1 -1
  102. package/dist/types/index.d.ts +3 -0
  103. package/dist/types/index.d.ts.map +1 -1
  104. package/dist/types/index.js +3 -0
  105. package/dist/types/marketplace.d.ts +43 -0
  106. package/dist/types/marketplace.d.ts.map +1 -0
  107. package/dist/types/marketplace.js +1 -0
  108. package/dist/types/permissions.d.ts +4 -2
  109. package/dist/types/permissions.d.ts.map +1 -1
  110. package/dist/types/permissions.js +8 -5
  111. package/dist/types/plugins.d.ts +35 -0
  112. package/dist/types/plugins.d.ts.map +1 -0
  113. package/dist/types/plugins.js +1 -0
  114. package/dist/types/tools.d.ts +17 -0
  115. package/dist/types/tools.d.ts.map +1 -1
  116. package/dist/utils/bashHistory.d.ts +3 -3
  117. package/dist/utils/bashHistory.d.ts.map +1 -1
  118. package/dist/utils/bashHistory.js +10 -8
  119. package/dist/utils/bashParser.d.ts.map +1 -1
  120. package/dist/utils/bashParser.js +63 -20
  121. package/dist/utils/configPaths.d.ts +4 -0
  122. package/dist/utils/configPaths.d.ts.map +1 -1
  123. package/dist/utils/configPaths.js +6 -0
  124. package/dist/utils/constants.d.ts +4 -0
  125. package/dist/utils/constants.d.ts.map +1 -1
  126. package/dist/utils/constants.js +4 -0
  127. package/dist/utils/convertMessagesForAPI.d.ts.map +1 -1
  128. package/dist/utils/convertMessagesForAPI.js +4 -2
  129. package/dist/utils/customCommands.d.ts +6 -0
  130. package/dist/utils/customCommands.d.ts.map +1 -1
  131. package/dist/utils/customCommands.js +1 -1
  132. package/dist/utils/editUtils.d.ts +17 -0
  133. package/dist/utils/editUtils.d.ts.map +1 -0
  134. package/dist/utils/editUtils.js +69 -0
  135. package/dist/utils/markdownParser.d.ts.map +1 -1
  136. package/dist/utils/markdownParser.js +25 -1
  137. package/dist/utils/messageOperations.d.ts.map +1 -1
  138. package/dist/utils/messageOperations.js +2 -1
  139. package/dist/utils/nameGenerator.d.ts +8 -0
  140. package/dist/utils/nameGenerator.d.ts.map +1 -0
  141. package/dist/utils/nameGenerator.js +75 -0
  142. package/dist/utils/openaiClient.d.ts.map +1 -1
  143. package/dist/utils/openaiClient.js +19 -9
  144. package/dist/utils/pathSafety.d.ts.map +1 -1
  145. package/dist/utils/pathSafety.js +17 -2
  146. package/package.json +1 -1
  147. package/src/agent.ts +95 -10
  148. package/src/constants/prompts.ts +93 -0
  149. package/src/constants/tools.ts +17 -0
  150. package/src/index.ts +8 -0
  151. package/src/managers/aiManager.ts +86 -18
  152. package/src/managers/hookManager.ts +23 -6
  153. package/src/managers/liveConfigManager.ts +56 -29
  154. package/src/managers/permissionManager.ts +361 -61
  155. package/src/managers/planManager.ts +45 -0
  156. package/src/managers/pluginManager.ts +182 -0
  157. package/src/managers/pluginScopeManager.ts +75 -0
  158. package/src/managers/skillManager.ts +18 -0
  159. package/src/managers/slashCommandManager.ts +67 -5
  160. package/src/managers/subagentManager.ts +3 -1
  161. package/src/managers/toolManager.ts +25 -3
  162. package/src/services/GitService.ts +97 -0
  163. package/src/services/MarketplaceService.ts +428 -0
  164. package/src/services/aiService.ts +33 -16
  165. package/src/services/configurationService.ts +244 -86
  166. package/src/services/fileWatcher.ts +3 -3
  167. package/src/services/hook.ts +1 -1
  168. package/src/services/pluginLoader.ts +181 -0
  169. package/src/tools/askUserQuestion.ts +128 -0
  170. package/src/tools/bashTool.ts +52 -49
  171. package/src/tools/deleteFileTool.ts +22 -28
  172. package/src/tools/editTool.ts +42 -48
  173. package/src/tools/exitPlanMode.ts +93 -0
  174. package/src/tools/globTool.ts +4 -4
  175. package/src/tools/grepTool.ts +9 -5
  176. package/src/tools/lsTool.ts +27 -4
  177. package/src/tools/lspTool.ts +3 -2
  178. package/src/tools/multiEditTool.ts +40 -42
  179. package/src/tools/readTool.ts +23 -4
  180. package/src/tools/skillTool.ts +35 -30
  181. package/src/tools/taskTool.ts +39 -33
  182. package/src/tools/todoWriteTool.ts +3 -2
  183. package/src/tools/writeTool.ts +19 -27
  184. package/src/types/commands.ts +1 -0
  185. package/src/types/config.ts +2 -0
  186. package/src/types/configuration.ts +42 -1
  187. package/src/types/hooks.ts +8 -25
  188. package/src/types/index.ts +3 -0
  189. package/src/types/marketplace.ts +52 -0
  190. package/src/types/permissions.ts +29 -6
  191. package/src/types/plugins.ts +37 -0
  192. package/src/types/tools.ts +20 -0
  193. package/src/utils/bashHistory.ts +9 -16
  194. package/src/utils/bashParser.ts +97 -46
  195. package/src/utils/configPaths.ts +7 -0
  196. package/src/utils/constants.ts +5 -0
  197. package/src/utils/convertMessagesForAPI.ts +4 -2
  198. package/src/utils/customCommands.ts +1 -1
  199. package/src/utils/editUtils.ts +82 -0
  200. package/src/utils/markdownParser.ts +28 -1
  201. package/src/utils/messageOperations.ts +2 -1
  202. package/src/utils/nameGenerator.ts +78 -0
  203. package/src/utils/openaiClient.ts +29 -15
  204. package/src/utils/pathSafety.ts +16 -2
package/dist/agent.d.ts CHANGED
@@ -2,7 +2,7 @@ import { type MessageManagerCallbacks } from "./managers/messageManager.js";
2
2
  import { type SubagentManagerCallbacks } from "./managers/subagentManager.js";
3
3
  import { type McpManagerCallbacks } from "./managers/mcpManager.js";
4
4
  import { type BackgroundBashManagerCallbacks } from "./managers/backgroundBashManager.js";
5
- import type { SlashCommand, CustomSlashCommand, ILspManager } from "./types/index.js";
5
+ import type { SlashCommand, CustomSlashCommand, ILspManager, PluginConfig } from "./types/index.js";
6
6
  import type { Message, Logger, McpServerStatus, GatewayConfig, ModelConfig, Usage, PermissionMode, PermissionCallback } from "./types/index.js";
7
7
  import { ClientOptions } from "openai";
8
8
  /**
@@ -39,6 +39,8 @@ export interface AgentOptions {
39
39
  stream?: boolean;
40
40
  /**Optional custom LSP manager - if not provided, a standalone one will be created */
41
41
  lspManager?: ILspManager;
42
+ /**Optional local plugins to load */
43
+ plugins?: PluginConfig[];
42
44
  }
43
45
  export interface AgentCallbacks extends MessageManagerCallbacks, BackgroundBashManagerCallbacks, McpManagerCallbacks, SubagentManagerCallbacks {
44
46
  onPermissionModeChange?: (mode: PermissionMode) => void;
@@ -53,8 +55,11 @@ export declare class Agent {
53
55
  private mcpManager;
54
56
  private lspManager;
55
57
  private permissionManager;
58
+ private planManager;
56
59
  private subagentManager;
57
60
  private slashCommandManager;
61
+ private pluginManager;
62
+ private skillManager;
58
63
  private hookManager;
59
64
  private liveConfigManager;
60
65
  private configurationService;
@@ -258,6 +263,11 @@ export declare class Agent {
258
263
  * @param mode - The new permission mode
259
264
  */
260
265
  setPermissionMode(mode: PermissionMode): void;
266
+ /**
267
+ * Handle plan mode transition, generating or clearing plan file path
268
+ * @param mode - The current effective permission mode
269
+ */
270
+ private handlePlanModeTransition;
261
271
  /**
262
272
  * Add a persistent permission rule
263
273
  * @param rule - The rule to add (e.g., "Bash(ls)")
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js CHANGED
@@ -8,7 +8,9 @@ import { LspManager } from "./managers/lspManager.js";
8
8
  import { BashManager } from "./managers/bashManager.js";
9
9
  import { BackgroundBashManager, } from "./managers/backgroundBashManager.js";
10
10
  import { SlashCommandManager } from "./managers/slashCommandManager.js";
11
+ import { PluginManager } from "./managers/pluginManager.js";
11
12
  import { PermissionManager } from "./managers/permissionManager.js";
13
+ import { PlanManager } from "./managers/planManager.js";
12
14
  import { HookManager } from "./managers/hookManager.js";
13
15
  import { LiveConfigManager } from "./managers/liveConfigManager.js";
14
16
  import { configValidator } from "./utils/configValidator.js";
@@ -25,7 +27,7 @@ export class Agent {
25
27
  return this.configurationService.resolveGatewayConfig(this.options.apiKey, this.options.baseURL, this.options.defaultHeaders, this.options.fetchOptions, this.options.fetch);
26
28
  }
27
29
  getModelConfig() {
28
- return this.configurationService.resolveModelConfig(this.options.agentModel, this.options.fastModel, this.options.maxTokens);
30
+ return this.configurationService.resolveModelConfig(this.options.agentModel, this.options.fastModel, this.options.maxTokens, this.getPermissionMode());
29
31
  }
30
32
  getMaxInputTokens() {
31
33
  return this.configurationService.resolveMaxInputTokens(this.options.maxInputTokens);
@@ -93,12 +95,23 @@ export class Agent {
93
95
  this.lspManager =
94
96
  options.lspManager || new LspManager({ logger: this.logger }); // Initialize LSP manager
95
97
  // Initialize permission manager
96
- this.permissionManager = new PermissionManager({ logger: this.logger });
98
+ this.permissionManager = new PermissionManager({
99
+ logger: this.logger,
100
+ workdir: this.workdir,
101
+ });
97
102
  this.permissionManager.setOnConfiguredDefaultModeChange((mode) => {
103
+ this.handlePlanModeTransition(mode);
98
104
  this.options.callbacks?.onPermissionModeChange?.(mode);
99
105
  });
106
+ // Initialize plan manager
107
+ this.planManager = new PlanManager(this.logger);
100
108
  // Initialize configuration service and hooks manager
101
109
  this.hookManager = new HookManager(this.workdir, undefined, this.logger); // Initialize hooks manager
110
+ // Initialize skill manager
111
+ this.skillManager = new SkillManager({
112
+ logger: this.logger,
113
+ workdir: this.workdir,
114
+ });
102
115
  // Initialize MessageManager
103
116
  this.messageManager = new MessageManager({
104
117
  callbacks,
@@ -186,6 +199,7 @@ export class Agent {
186
199
  logger: this.logger,
187
200
  backgroundBashManager: this.backgroundBashManager,
188
201
  hookManager: this.hookManager,
202
+ permissionManager: this.permissionManager,
189
203
  callbacks: {
190
204
  ...callbacks,
191
205
  onUsageAdded: (usage) => {
@@ -207,11 +221,26 @@ export class Agent {
207
221
  workdir: this.workdir,
208
222
  logger: this.logger,
209
223
  });
224
+ // Initialize plugin manager
225
+ this.pluginManager = new PluginManager({
226
+ workdir: this.workdir,
227
+ logger: this.logger,
228
+ slashCommandManager: this.slashCommandManager,
229
+ mcpManager: this.mcpManager,
230
+ lspManager: this.lspManager instanceof LspManager ? this.lspManager : undefined,
231
+ hookManager: this.hookManager,
232
+ skillManager: this.skillManager,
233
+ configurationService: this.configurationService,
234
+ });
210
235
  // Initialize bash manager
211
236
  this.bashManager = new BashManager({
212
237
  messageManager: this.messageManager,
213
238
  workdir: this.workdir,
214
239
  });
240
+ // Set initial permission mode if provided
241
+ if (options.permissionMode) {
242
+ this.setPermissionMode(options.permissionMode);
243
+ }
215
244
  }
216
245
  // Public getter methods
217
246
  get sessionId() {
@@ -370,18 +399,16 @@ export class Agent {
370
399
  // Initialize managers first
371
400
  try {
372
401
  // Initialize SkillManager
373
- const skillManager = new SkillManager({
374
- logger: this.logger,
375
- workdir: this.workdir,
376
- });
377
- await skillManager.initialize();
402
+ await this.skillManager.initialize();
378
403
  // Initialize SubagentManager (load and cache configurations)
379
404
  await this.subagentManager.initialize();
380
405
  // Initialize built-in tools with dependencies
381
406
  this.toolManager.initializeBuiltInTools({
382
407
  subagentManager: this.subagentManager,
383
- skillManager: skillManager,
408
+ skillManager: this.skillManager,
384
409
  });
410
+ // Initialize plugins
411
+ await this.pluginManager.loadPlugins(this.options.plugins || []);
385
412
  }
386
413
  catch (error) {
387
414
  this.logger?.error("Failed to initialize managers and tools:", error);
@@ -404,6 +431,10 @@ export class Agent {
404
431
  this.logger?.debug("Loading hooks configuration...");
405
432
  const configResult = await this.configurationService.loadMergedConfiguration(this.workdir);
406
433
  this.hookManager.loadConfigurationFromWaveConfig(configResult.configuration);
434
+ // Update plugin manager with enabled plugins configuration
435
+ if (configResult.configuration?.enabledPlugins) {
436
+ this.pluginManager.updateEnabledPlugins(configResult.configuration.enabledPlugins);
437
+ }
407
438
  this.logger?.debug("Hooks system initialized successfully");
408
439
  }
409
440
  catch (error) {
@@ -421,11 +452,11 @@ export class Agent {
421
452
  this.logger?.debug("Live configuration reload initialized successfully");
422
453
  // Update permission manager with configuration-based defaultMode
423
454
  const currentConfig = this.liveConfigManager.getCurrentConfiguration();
424
- if (currentConfig?.defaultMode) {
455
+ if (currentConfig?.permissions?.defaultMode) {
425
456
  this.logger?.debug("Applying configured defaultMode to PermissionManager", {
426
- defaultMode: currentConfig.defaultMode,
457
+ defaultMode: currentConfig.permissions.defaultMode,
427
458
  });
428
- this.permissionManager.updateConfiguredDefaultMode(currentConfig.defaultMode);
459
+ this.permissionManager.updateConfiguredDefaultMode(currentConfig.permissions.defaultMode);
429
460
  }
430
461
  // Update permission manager with configuration-based allowed rules
431
462
  if (currentConfig?.permissions?.allow) {
@@ -434,6 +465,13 @@ export class Agent {
434
465
  });
435
466
  this.permissionManager.updateAllowedRules(currentConfig.permissions.allow);
436
467
  }
468
+ // Update permission manager with configuration-based additionalDirectories
469
+ if (currentConfig?.permissions?.additionalDirectories) {
470
+ this.logger?.debug("Applying configured additionalDirectories to PermissionManager", {
471
+ count: currentConfig.permissions.additionalDirectories.length,
472
+ });
473
+ this.permissionManager.updateAdditionalDirectories(currentConfig.permissions.additionalDirectories);
474
+ }
437
475
  }
438
476
  catch (error) {
439
477
  this.logger?.error("Failed to initialize live configuration reload:", error);
@@ -803,9 +841,31 @@ export class Agent {
803
841
  * @param mode - The new permission mode
804
842
  */
805
843
  setPermissionMode(mode) {
844
+ this.logger?.debug("Setting permission mode", { mode });
806
845
  this.toolManager.setPermissionMode(mode);
846
+ this.handlePlanModeTransition(mode);
807
847
  this.options.callbacks?.onPermissionModeChange?.(mode);
808
848
  }
849
+ /**
850
+ * Handle plan mode transition, generating or clearing plan file path
851
+ * @param mode - The current effective permission mode
852
+ */
853
+ handlePlanModeTransition(mode) {
854
+ if (mode === "plan") {
855
+ this.planManager
856
+ .getOrGeneratePlanFilePath()
857
+ .then(({ path }) => {
858
+ this.logger?.debug("Plan file path generated", { path });
859
+ this.permissionManager.setPlanFilePath(path);
860
+ })
861
+ .catch((error) => {
862
+ this.logger?.error("Failed to generate plan file path", error);
863
+ });
864
+ }
865
+ else {
866
+ this.permissionManager.setPlanFilePath(undefined);
867
+ }
868
+ }
809
869
  /**
810
870
  * Add a persistent permission rule
811
871
  * @param rule - The rule to add (e.g., "Bash(ls)")
@@ -0,0 +1,14 @@
1
+ export declare const BASE_SYSTEM_PROMPT = "You are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.\n\n# Doing tasks\nThe user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:\n- NEVER propose changes to code you haven't read. If a user asks about or wants you to modify a file, read it first. Understand existing code before suggesting modifications.\n- Be careful not to introduce security vulnerabilities such as command injection, XSS, SQL injection, and other OWASP top 10 vulnerabilities. If you notice that you wrote insecure code, immediately fix it.\n- Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.\n - Don't add features, refactor code, or make \"improvements\" beyond what was asked. A bug fix doesn't need surrounding code cleaned up. A simple feature doesn't need extra configurability. Don't add docstrings, comments, or type annotations to code you didn't change. Only add comments where the logic isn't self-evident.\n - Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs). Don't use feature flags or backwards-compatibility shims when you can just change the code.\n - Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements. The right amount of complexity is the minimum needed for the current task\u2014three similar lines of code is better than a premature abstraction.\n- Avoid backwards-compatibility hacks like renaming unused `_vars`, re-exporting types, adding `// removed` comments for removed code, etc. If something is unused, delete it completely.\n\n# Tool usage policy\n- You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency.\n- However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead. Never use placeholders or guess missing parameters in tool calls.\n- If the user specifies that they want you to run tools \"in parallel\", you MUST send a single message with multiple tool use content blocks.";
2
+ export declare const TASK_MANAGEMENT_POLICY = "\n# Task Management\nYou have access to the TodoWrite tools to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.\nThese tools are also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use this tool when planning, you may forget to do important tasks - and that is unacceptable.\nIt is critical that you mark todos as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.";
3
+ export declare const ASK_USER_POLICY = "\n# Asking questions as you work\nYou have access to the AskUserQuestion tool to ask the user questions when you need clarification, want to validate assumptions, or need to make a decision you're unsure about. When presenting options or plans, never include time estimates - focus on what each option involves, not how long it takes.";
4
+ export declare const SUBAGENT_POLICY = "\n- When doing file search, prefer to use the Task tool in order to reduce context usage.\n- You should proactively use the Task tool with specialized agents when the task at hand matches the agent's description.\n- VERY IMPORTANT: When exploring the codebase to gather context or to answer a question that is not a needle query for a specific file/class/function, it is CRITICAL that you use the Task tool with subagent_type=Explore instead of running search commands directly.";
5
+ export declare const FILE_TOOL_POLICY = "\n- Use specialized tools instead of bash commands when possible, as this provides a better user experience. For file operations, use dedicated tools: Read for reading files instead of cat/head/tail, Edit/MultiEdit for editing instead of sed/awk, Write for creating files instead of cat with heredoc or echo redirection, and LS/Glob/Grep for searching and listing files instead of find/ls/grep.";
6
+ export declare const BASH_POLICY = "\n- Reserve bash tools exclusively for actual system commands and terminal operations that require shell execution. NEVER use bash echo or other command-line tools to communicate thoughts, explanations, or instructions to the user. Output all communication directly in your response text instead.\n- When making multiple bash tool calls, you MUST send a single message with multiple tools calls to run the calls in parallel. For example, if you need to run \"git status\" and \"git diff\", send a single message with two tool calls to run the calls in parallel.";
7
+ export declare const DEFAULT_SYSTEM_PROMPT = "You are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.\n\n# Doing tasks\nThe user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:\n- NEVER propose changes to code you haven't read. If a user asks about or wants you to modify a file, read it first. Understand existing code before suggesting modifications.\n- Be careful not to introduce security vulnerabilities such as command injection, XSS, SQL injection, and other OWASP top 10 vulnerabilities. If you notice that you wrote insecure code, immediately fix it.\n- Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.\n - Don't add features, refactor code, or make \"improvements\" beyond what was asked. A bug fix doesn't need surrounding code cleaned up. A simple feature doesn't need extra configurability. Don't add docstrings, comments, or type annotations to code you didn't change. Only add comments where the logic isn't self-evident.\n - Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs). Don't use feature flags or backwards-compatibility shims when you can just change the code.\n - Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements. The right amount of complexity is the minimum needed for the current task\u2014three similar lines of code is better than a premature abstraction.\n- Avoid backwards-compatibility hacks like renaming unused `_vars`, re-exporting types, adding `// removed` comments for removed code, etc. If something is unused, delete it completely.\n\n# Tool usage policy\n- You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency.\n- However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead. Never use placeholders or guess missing parameters in tool calls.\n- If the user specifies that they want you to run tools \"in parallel\", you MUST send a single message with multiple tool use content blocks.";
8
+ export declare function buildSystemPrompt(basePrompt: string, tools: {
9
+ name?: string;
10
+ function?: {
11
+ name: string;
12
+ };
13
+ }[]): string;
14
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/constants/prompts.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,kBAAkB,ksFAe8G,CAAC;AAE9I,eAAO,MAAM,sBAAsB,+lBAImH,CAAC;AAEvJ,eAAO,MAAM,eAAe,mVAEgS,CAAC;AAE7T,eAAO,MAAM,eAAe,meAG0P,CAAC;AAEvR,eAAO,MAAM,gBAAgB,+YACwc,CAAC;AAEte,eAAO,MAAM,WAAW,sjBAE4O,CAAC;AAErQ,eAAO,MAAM,qBAAqB,ksFAAqB,CAAC;AAExD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAAE,GACtD,MAAM,CAkCR"}
@@ -0,0 +1,61 @@
1
+ import { ASK_USER_QUESTION_TOOL_NAME, BASH_TOOL_NAME, EDIT_TOOL_NAME, GLOB_TOOL_NAME, GREP_TOOL_NAME, LS_TOOL_NAME, MULTI_EDIT_TOOL_NAME, READ_TOOL_NAME, TASK_TOOL_NAME, TODO_WRITE_TOOL_NAME, WRITE_TOOL_NAME, } from "./tools.js";
2
+ export const BASE_SYSTEM_PROMPT = `You are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.
3
+
4
+ # Doing tasks
5
+ The user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:
6
+ - NEVER propose changes to code you haven't read. If a user asks about or wants you to modify a file, read it first. Understand existing code before suggesting modifications.
7
+ - Be careful not to introduce security vulnerabilities such as command injection, XSS, SQL injection, and other OWASP top 10 vulnerabilities. If you notice that you wrote insecure code, immediately fix it.
8
+ - Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.
9
+ - Don't add features, refactor code, or make "improvements" beyond what was asked. A bug fix doesn't need surrounding code cleaned up. A simple feature doesn't need extra configurability. Don't add docstrings, comments, or type annotations to code you didn't change. Only add comments where the logic isn't self-evident.
10
+ - Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs). Don't use feature flags or backwards-compatibility shims when you can just change the code.
11
+ - Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements. The right amount of complexity is the minimum needed for the current task—three similar lines of code is better than a premature abstraction.
12
+ - Avoid backwards-compatibility hacks like renaming unused \`_vars\`, re-exporting types, adding \`// removed\` comments for removed code, etc. If something is unused, delete it completely.
13
+
14
+ # Tool usage policy
15
+ - You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency.
16
+ - However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead. Never use placeholders or guess missing parameters in tool calls.
17
+ - If the user specifies that they want you to run tools "in parallel", you MUST send a single message with multiple tool use content blocks.`;
18
+ export const TASK_MANAGEMENT_POLICY = `
19
+ # Task Management
20
+ You have access to the ${TODO_WRITE_TOOL_NAME} tools to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.
21
+ These tools are also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use this tool when planning, you may forget to do important tasks - and that is unacceptable.
22
+ It is critical that you mark todos as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.`;
23
+ export const ASK_USER_POLICY = `
24
+ # Asking questions as you work
25
+ You have access to the ${ASK_USER_QUESTION_TOOL_NAME} tool to ask the user questions when you need clarification, want to validate assumptions, or need to make a decision you're unsure about. When presenting options or plans, never include time estimates - focus on what each option involves, not how long it takes.`;
26
+ export const SUBAGENT_POLICY = `
27
+ - When doing file search, prefer to use the ${TASK_TOOL_NAME} tool in order to reduce context usage.
28
+ - You should proactively use the ${TASK_TOOL_NAME} tool with specialized agents when the task at hand matches the agent's description.
29
+ - VERY IMPORTANT: When exploring the codebase to gather context or to answer a question that is not a needle query for a specific file/class/function, it is CRITICAL that you use the ${TASK_TOOL_NAME} tool with subagent_type=Explore instead of running search commands directly.`;
30
+ export const FILE_TOOL_POLICY = `
31
+ - Use specialized tools instead of bash commands when possible, as this provides a better user experience. For file operations, use dedicated tools: ${READ_TOOL_NAME} for reading files instead of cat/head/tail, ${EDIT_TOOL_NAME}/${MULTI_EDIT_TOOL_NAME} for editing instead of sed/awk, ${WRITE_TOOL_NAME} for creating files instead of cat with heredoc or echo redirection, and ${LS_TOOL_NAME}/${GLOB_TOOL_NAME}/${GREP_TOOL_NAME} for searching and listing files instead of find/ls/grep.`;
32
+ export const BASH_POLICY = `
33
+ - Reserve bash tools exclusively for actual system commands and terminal operations that require shell execution. NEVER use bash echo or other command-line tools to communicate thoughts, explanations, or instructions to the user. Output all communication directly in your response text instead.
34
+ - When making multiple bash tool calls, you MUST send a single message with multiple tools calls to run the calls in parallel. For example, if you need to run "git status" and "git diff", send a single message with two tool calls to run the calls in parallel.`;
35
+ export const DEFAULT_SYSTEM_PROMPT = BASE_SYSTEM_PROMPT;
36
+ export function buildSystemPrompt(basePrompt, tools) {
37
+ let prompt = basePrompt;
38
+ const toolNames = new Set(tools.map((t) => t.function?.name || t.name).filter(Boolean));
39
+ if (toolNames.has(TODO_WRITE_TOOL_NAME)) {
40
+ prompt += TASK_MANAGEMENT_POLICY;
41
+ }
42
+ if (toolNames.has(ASK_USER_QUESTION_TOOL_NAME)) {
43
+ prompt += ASK_USER_POLICY;
44
+ }
45
+ if (toolNames.has(TASK_TOOL_NAME)) {
46
+ prompt += SUBAGENT_POLICY;
47
+ }
48
+ if (toolNames.has(READ_TOOL_NAME) ||
49
+ toolNames.has(EDIT_TOOL_NAME) ||
50
+ toolNames.has(MULTI_EDIT_TOOL_NAME) ||
51
+ toolNames.has(WRITE_TOOL_NAME) ||
52
+ toolNames.has(LS_TOOL_NAME) ||
53
+ toolNames.has(GLOB_TOOL_NAME) ||
54
+ toolNames.has(GREP_TOOL_NAME)) {
55
+ prompt += FILE_TOOL_POLICY;
56
+ }
57
+ if (toolNames.has(BASH_TOOL_NAME)) {
58
+ prompt += BASH_POLICY;
59
+ }
60
+ return prompt;
61
+ }
@@ -0,0 +1,18 @@
1
+ export declare const ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion";
2
+ export declare const BASH_TOOL_NAME = "Bash";
3
+ export declare const BASH_OUTPUT_TOOL_NAME = "BashOutput";
4
+ export declare const KILL_BASH_TOOL_NAME = "KillBash";
5
+ export declare const DELETE_FILE_TOOL_NAME = "Delete";
6
+ export declare const EDIT_TOOL_NAME = "Edit";
7
+ export declare const EXIT_PLAN_MODE_TOOL_NAME = "ExitPlanMode";
8
+ export declare const GLOB_TOOL_NAME = "Glob";
9
+ export declare const GREP_TOOL_NAME = "Grep";
10
+ export declare const LSP_TOOL_NAME = "LSP";
11
+ export declare const LS_TOOL_NAME = "LS";
12
+ export declare const MULTI_EDIT_TOOL_NAME = "MultiEdit";
13
+ export declare const READ_TOOL_NAME = "Read";
14
+ export declare const SKILL_TOOL_NAME = "Skill";
15
+ export declare const TASK_TOOL_NAME = "Task";
16
+ export declare const TODO_WRITE_TOOL_NAME = "TodoWrite";
17
+ export declare const WRITE_TOOL_NAME = "Write";
18
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/constants/tools.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAC7D,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,eAAe,UAAU,CAAC"}
@@ -0,0 +1,17 @@
1
+ export const ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion";
2
+ export const BASH_TOOL_NAME = "Bash";
3
+ export const BASH_OUTPUT_TOOL_NAME = "BashOutput";
4
+ export const KILL_BASH_TOOL_NAME = "KillBash";
5
+ export const DELETE_FILE_TOOL_NAME = "Delete";
6
+ export const EDIT_TOOL_NAME = "Edit";
7
+ export const EXIT_PLAN_MODE_TOOL_NAME = "ExitPlanMode";
8
+ export const GLOB_TOOL_NAME = "Glob";
9
+ export const GREP_TOOL_NAME = "Grep";
10
+ export const LSP_TOOL_NAME = "LSP";
11
+ export const LS_TOOL_NAME = "LS";
12
+ export const MULTI_EDIT_TOOL_NAME = "MultiEdit";
13
+ export const READ_TOOL_NAME = "Read";
14
+ export const SKILL_TOOL_NAME = "Skill";
15
+ export const TASK_TOOL_NAME = "Task";
16
+ export const TODO_WRITE_TOOL_NAME = "TodoWrite";
17
+ export const WRITE_TOOL_NAME = "Write";
package/dist/index.d.ts CHANGED
@@ -4,6 +4,10 @@ export * from "./services/session.js";
4
4
  export * from "./services/hook.js";
5
5
  export * from "./services/jsonlHandler.js";
6
6
  export * from "./services/configurationService.js";
7
+ export * from "./services/MarketplaceService.js";
8
+ export * from "./constants/tools.js";
9
+ export * from "./managers/pluginManager.js";
10
+ export * from "./managers/pluginScopeManager.js";
7
11
  export * from "./agent.js";
8
12
  export * from "./utils/bashHistory.js";
9
13
  export * from "./utils/bashParser.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AAGnD,cAAc,YAAY,CAAC;AAG3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AAGjD,cAAc,sBAAsB,CAAC;AAGrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,YAAY,CAAC;AAG3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AAGvC,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,12 @@ export * from "./services/session.js";
5
5
  export * from "./services/hook.js";
6
6
  export * from "./services/jsonlHandler.js";
7
7
  export * from "./services/configurationService.js"; // New configuration management service
8
+ export * from "./services/MarketplaceService.js";
9
+ // Export constants
10
+ export * from "./constants/tools.js";
11
+ // Export managers
12
+ export * from "./managers/pluginManager.js";
13
+ export * from "./managers/pluginScopeManager.js";
8
14
  // Export main agent
9
15
  export * from "./agent.js";
10
16
  // Export all utilities
@@ -3,6 +3,7 @@ import type { ToolManager } from "./toolManager.js";
3
3
  import type { MessageManager } from "./messageManager.js";
4
4
  import type { BackgroundBashManager } from "./backgroundBashManager.js";
5
5
  import type { HookManager } from "./hookManager.js";
6
+ import type { PermissionManager } from "./permissionManager.js";
6
7
  export interface AIManagerCallbacks {
7
8
  onCompressionStateChange?: (isCompressing: boolean) => void;
8
9
  onUsageAdded?: (usage: Usage) => void;
@@ -13,6 +14,7 @@ export interface AIManagerOptions {
13
14
  logger?: Logger;
14
15
  backgroundBashManager?: BackgroundBashManager;
15
16
  hookManager?: HookManager;
17
+ permissionManager?: PermissionManager;
16
18
  callbacks?: AIManagerCallbacks;
17
19
  workdir: string;
18
20
  systemPrompt?: string;
@@ -33,6 +35,7 @@ export declare class AIManager {
33
35
  private messageManager;
34
36
  private backgroundBashManager?;
35
37
  private hookManager?;
38
+ private permissionManager?;
36
39
  private workdir;
37
40
  private systemPrompt?;
38
41
  private subagentType?;
@@ -48,7 +51,7 @@ export declare class AIManager {
48
51
  private isCompressing;
49
52
  private callbacks;
50
53
  /**
51
- * Get filtered tool configuration
54
+ * Get filtered tool configuration based on tools list
52
55
  */
53
56
  private getFilteredToolsConfig;
54
57
  setIsLoading(isLoading: boolean): void;
@@ -60,7 +63,10 @@ export declare class AIManager {
60
63
  sendAIMessage(options?: {
61
64
  recursionDepth?: number;
62
65
  model?: string;
63
- allowedTools?: string[];
66
+ /** Rules for automatic tool approval (e.g., "Bash(git status:*)") */
67
+ allowedRules?: string[];
68
+ /** List of tools available to the AI (e.g., ["Bash", "Read"]) */
69
+ tools?: string[];
64
70
  maxTokens?: number;
65
71
  }): Promise<void>;
66
72
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"aiManager.d.ts","sourceRoot":"","sources":["../../src/managers/aiManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aiManager.d.ts","sourceRoot":"","sources":["../../src/managers/aiManager.ts"],"names":[],"mappings":"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"}