wave-agent-sdk 0.6.5 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/dist/agent.d.ts +8 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +49 -240
  4. package/dist/constants/tools.d.ts +0 -2
  5. package/dist/constants/tools.d.ts.map +1 -1
  6. package/dist/constants/tools.js +0 -2
  7. package/dist/core/plugin.d.ts +86 -0
  8. package/dist/core/plugin.d.ts.map +1 -0
  9. package/dist/core/plugin.js +164 -0
  10. package/dist/index.d.ts +1 -4
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -5
  13. package/dist/managers/MemoryRuleManager.d.ts +3 -1
  14. package/dist/managers/MemoryRuleManager.d.ts.map +1 -1
  15. package/dist/managers/MemoryRuleManager.js +2 -1
  16. package/dist/managers/aiManager.d.ts +13 -23
  17. package/dist/managers/aiManager.d.ts.map +1 -1
  18. package/dist/managers/aiManager.js +59 -32
  19. package/dist/managers/backgroundTaskManager.d.ts +3 -1
  20. package/dist/managers/backgroundTaskManager.d.ts.map +1 -1
  21. package/dist/managers/backgroundTaskManager.js +2 -1
  22. package/dist/managers/bashManager.d.ts +4 -4
  23. package/dist/managers/bashManager.d.ts.map +1 -1
  24. package/dist/managers/bashManager.js +5 -2
  25. package/dist/managers/foregroundTaskManager.d.ts +3 -0
  26. package/dist/managers/foregroundTaskManager.d.ts.map +1 -1
  27. package/dist/managers/foregroundTaskManager.js +2 -1
  28. package/dist/managers/hookManager.d.ts +3 -3
  29. package/dist/managers/hookManager.d.ts.map +1 -1
  30. package/dist/managers/hookManager.js +20 -19
  31. package/dist/managers/liveConfigManager.d.ts +6 -13
  32. package/dist/managers/liveConfigManager.d.ts.map +1 -1
  33. package/dist/managers/liveConfigManager.js +50 -45
  34. package/dist/managers/lspManager.d.ts +4 -5
  35. package/dist/managers/lspManager.d.ts.map +1 -1
  36. package/dist/managers/lspManager.js +13 -12
  37. package/dist/managers/mcpManager.d.ts +3 -2
  38. package/dist/managers/mcpManager.d.ts.map +1 -1
  39. package/dist/managers/mcpManager.js +16 -15
  40. package/dist/managers/messageManager.d.ts +5 -7
  41. package/dist/managers/messageManager.d.ts.map +1 -1
  42. package/dist/managers/messageManager.js +12 -7
  43. package/dist/managers/permissionManager.d.ts +6 -4
  44. package/dist/managers/permissionManager.d.ts.map +1 -1
  45. package/dist/managers/permissionManager.js +39 -63
  46. package/dist/managers/planManager.d.ts +4 -6
  47. package/dist/managers/planManager.d.ts.map +1 -1
  48. package/dist/managers/planManager.js +18 -4
  49. package/dist/managers/pluginManager.d.ts +10 -22
  50. package/dist/managers/pluginManager.d.ts.map +1 -1
  51. package/dist/managers/pluginManager.js +27 -14
  52. package/dist/managers/reversionManager.d.ts +4 -3
  53. package/dist/managers/reversionManager.d.ts.map +1 -1
  54. package/dist/managers/reversionManager.js +5 -2
  55. package/dist/managers/skillManager.d.ts +3 -2
  56. package/dist/managers/skillManager.d.ts.map +1 -1
  57. package/dist/managers/skillManager.js +15 -14
  58. package/dist/managers/slashCommandManager.d.ts +9 -16
  59. package/dist/managers/slashCommandManager.d.ts.map +1 -1
  60. package/dist/managers/slashCommandManager.js +21 -10
  61. package/dist/managers/subagentManager.d.ts +7 -17
  62. package/dist/managers/subagentManager.d.ts.map +1 -1
  63. package/dist/managers/subagentManager.js +41 -34
  64. package/dist/managers/toolManager.d.ts +15 -38
  65. package/dist/managers/toolManager.d.ts.map +1 -1
  66. package/dist/managers/toolManager.js +66 -56
  67. package/dist/prompts/index.d.ts +6 -2
  68. package/dist/prompts/index.d.ts.map +1 -1
  69. package/dist/prompts/index.js +8 -4
  70. package/dist/services/MarketplaceService.d.ts.map +1 -1
  71. package/dist/services/MarketplaceService.js +13 -0
  72. package/dist/services/aiService.d.ts +4 -0
  73. package/dist/services/aiService.d.ts.map +1 -1
  74. package/dist/services/aiService.js +47 -7
  75. package/dist/services/configurationService.d.ts.map +1 -1
  76. package/dist/services/configurationService.js +30 -11
  77. package/dist/services/taskManager.d.ts +3 -1
  78. package/dist/services/taskManager.d.ts.map +1 -1
  79. package/dist/services/taskManager.js +2 -1
  80. package/dist/tools/bashTool.js +2 -2
  81. package/dist/tools/editTool.d.ts.map +1 -1
  82. package/dist/tools/editTool.js +9 -1
  83. package/dist/tools/readTool.d.ts.map +1 -1
  84. package/dist/tools/readTool.js +2 -2
  85. package/dist/tools/skillTool.d.ts +2 -4
  86. package/dist/tools/skillTool.d.ts.map +1 -1
  87. package/dist/tools/skillTool.js +61 -61
  88. package/dist/tools/taskOutputTool.js +1 -1
  89. package/dist/tools/taskTool.d.ts +2 -4
  90. package/dist/tools/taskTool.d.ts.map +1 -1
  91. package/dist/tools/taskTool.js +192 -187
  92. package/dist/tools/types.d.ts +11 -1
  93. package/dist/tools/types.d.ts.map +1 -1
  94. package/dist/tools/writeTool.d.ts.map +1 -1
  95. package/dist/tools/writeTool.js +4 -2
  96. package/dist/types/marketplace.d.ts +8 -0
  97. package/dist/types/marketplace.d.ts.map +1 -1
  98. package/dist/types/permissions.d.ts +1 -1
  99. package/dist/types/permissions.d.ts.map +1 -1
  100. package/dist/types/permissions.js +1 -3
  101. package/dist/types/skills.d.ts +0 -2
  102. package/dist/types/skills.d.ts.map +1 -1
  103. package/dist/types/tools.d.ts +0 -15
  104. package/dist/types/tools.d.ts.map +1 -1
  105. package/dist/utils/container.d.ts +31 -0
  106. package/dist/utils/container.d.ts.map +1 -0
  107. package/dist/utils/container.js +79 -0
  108. package/dist/utils/containerSetup.d.ts +26 -0
  109. package/dist/utils/containerSetup.d.ts.map +1 -0
  110. package/dist/utils/containerSetup.js +165 -0
  111. package/dist/utils/editUtils.d.ts +0 -3
  112. package/dist/utils/editUtils.d.ts.map +1 -1
  113. package/dist/utils/editUtils.js +4 -3
  114. package/dist/utils/hookMatcher.d.ts +1 -1
  115. package/dist/utils/hookMatcher.d.ts.map +1 -1
  116. package/dist/utils/hookMatcher.js +2 -2
  117. package/dist/utils/openaiClient.js +2 -2
  118. package/dist/utils/stringUtils.d.ts +6 -0
  119. package/dist/utils/stringUtils.d.ts.map +1 -1
  120. package/dist/utils/stringUtils.js +8 -0
  121. package/package.json +1 -1
  122. package/src/agent.ts +60 -282
  123. package/src/constants/tools.ts +0 -2
  124. package/src/core/plugin.ts +224 -0
  125. package/src/index.ts +1 -6
  126. package/src/managers/MemoryRuleManager.ts +6 -1
  127. package/src/managers/aiManager.ts +83 -58
  128. package/src/managers/backgroundTaskManager.ts +5 -1
  129. package/src/managers/bashManager.ts +9 -4
  130. package/src/managers/foregroundTaskManager.ts +3 -0
  131. package/src/managers/hookManager.ts +21 -23
  132. package/src/managers/liveConfigManager.ts +57 -53
  133. package/src/managers/lspManager.ts +14 -19
  134. package/src/managers/mcpManager.ts +20 -20
  135. package/src/managers/messageManager.ts +19 -12
  136. package/src/managers/permissionManager.ts +45 -70
  137. package/src/managers/planManager.ts +26 -7
  138. package/src/managers/pluginManager.ts +37 -33
  139. package/src/managers/reversionManager.ts +5 -3
  140. package/src/managers/skillManager.ts +19 -20
  141. package/src/managers/slashCommandManager.ts +30 -25
  142. package/src/managers/subagentManager.ts +53 -53
  143. package/src/managers/toolManager.ts +91 -90
  144. package/src/prompts/index.ts +13 -5
  145. package/src/services/MarketplaceService.ts +13 -0
  146. package/src/services/aiService.ts +61 -15
  147. package/src/services/configurationService.ts +34 -13
  148. package/src/services/taskManager.ts +5 -1
  149. package/src/tools/bashTool.ts +2 -2
  150. package/src/tools/editTool.ts +9 -1
  151. package/src/tools/readTool.ts +2 -2
  152. package/src/tools/skillTool.ts +75 -71
  153. package/src/tools/taskOutputTool.ts +1 -1
  154. package/src/tools/taskTool.ts +224 -225
  155. package/src/tools/types.ts +12 -1
  156. package/src/tools/writeTool.ts +4 -2
  157. package/src/types/marketplace.ts +9 -0
  158. package/src/types/permissions.ts +0 -4
  159. package/src/types/skills.ts +0 -3
  160. package/src/types/tools.ts +0 -17
  161. package/src/utils/container.ts +92 -0
  162. package/src/utils/containerSetup.ts +256 -0
  163. package/src/utils/editUtils.ts +4 -3
  164. package/src/utils/hookMatcher.ts +2 -2
  165. package/src/utils/openaiClient.ts +2 -2
  166. package/src/utils/stringUtils.ts +9 -0
  167. package/dist/tools/deleteFileTool.d.ts +0 -6
  168. package/dist/tools/deleteFileTool.d.ts.map +0 -1
  169. package/dist/tools/deleteFileTool.js +0 -100
  170. package/dist/tools/multiEditTool.d.ts +0 -6
  171. package/dist/tools/multiEditTool.d.ts.map +0 -1
  172. package/dist/tools/multiEditTool.js +0 -246
  173. package/src/tools/deleteFileTool.ts +0 -127
  174. package/src/tools/multiEditTool.ts +0 -306
package/dist/agent.d.ts CHANGED
@@ -43,6 +43,13 @@ export interface AgentOptions {
43
43
  lspManager?: ILspManager;
44
44
  /**Optional local plugins to load */
45
45
  plugins?: PluginConfig[];
46
+ /**
47
+ * Optional list of tool names to enable.
48
+ * - undefined: Enable all built-in tools and plugins (default).
49
+ * - []: Disable all tools.
50
+ * - string[]: Enable only the tools with the specified names.
51
+ */
52
+ tools?: string[];
46
53
  }
47
54
  export interface AgentCallbacks extends MessageManagerCallbacks, BackgroundTaskManagerCallbacks, McpManagerCallbacks, SubagentManagerCallbacks {
48
55
  onTasksChange?: (tasks: BackgroundTask[]) => void;
@@ -72,6 +79,7 @@ export declare class Agent {
72
79
  private liveConfigManager;
73
80
  private taskManager;
74
81
  private foregroundTaskManager;
82
+ private container;
75
83
  private configurationService;
76
84
  private workdir;
77
85
  private systemPrompt?;
@@ -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
@@ -1,30 +1,12 @@
1
- import { ForegroundTaskManager } from "./managers/foregroundTaskManager.js";
2
- import { MessageManager, } from "./managers/messageManager.js";
3
- import { AIManager } from "./managers/aiManager.js";
4
- import { ToolManager } from "./managers/toolManager.js";
5
- import { SubagentManager, } from "./managers/subagentManager.js";
6
- import { McpManager } from "./managers/mcpManager.js";
7
1
  import { LspManager } from "./managers/lspManager.js";
8
- import { BashManager } from "./managers/bashManager.js";
9
- import { BackgroundTaskManager, } from "./managers/backgroundTaskManager.js";
10
- import { SlashCommandManager } from "./managers/slashCommandManager.js";
11
- import { PluginManager } from "./managers/pluginManager.js";
12
- import { HookManager } from "./managers/hookManager.js";
13
- import { ReversionManager } from "./managers/reversionManager.js";
14
- import { ReversionService } from "./services/reversionService.js";
15
- import { PermissionManager } from "./managers/permissionManager.js";
16
- import { PlanManager } from "./managers/planManager.js";
17
- import { MemoryRuleManager } from "./managers/MemoryRuleManager.js";
18
- import { LiveConfigManager } from "./managers/liveConfigManager.js";
19
2
  import { configValidator } from "./utils/configValidator.js";
20
- import { SkillManager } from "./managers/skillManager.js";
21
- import { TaskManager } from "./services/taskManager.js";
22
3
  import { loadSessionFromJsonl, handleSessionRestoration, } from "./services/session.js";
23
4
  import { setGlobalLogger } from "./utils/globalLogger.js";
24
5
  import { ConfigurationService } from "./services/configurationService.js";
25
6
  import * as fs from "fs/promises";
26
7
  import path from "path";
27
8
  import os from "os";
9
+ import { setupAgentContainer } from "./utils/containerSetup.js";
28
10
  export class Agent {
29
11
  // Dynamic configuration getter methods
30
12
  getGatewayConfig() {
@@ -54,7 +36,7 @@ export class Agent {
54
36
  // Memory content storage
55
37
  this._projectMemoryContent = "";
56
38
  this._userMemoryContent = "";
57
- const { callbacks = {}, logger, workdir, systemPrompt, stream = true, } = options;
39
+ const { logger, workdir, systemPrompt, stream = true } = options;
58
40
  // Set working directory early as we need it for loading configuration
59
41
  this.workdir = workdir || process.cwd();
60
42
  // Initialize configuration service
@@ -64,201 +46,57 @@ export class Agent {
64
46
  this.stream = stream; // Save streaming mode flag
65
47
  // Store options for dynamic configuration resolution
66
48
  this.options = options;
67
- this.foregroundTaskManager = new ForegroundTaskManager();
68
- // Initialize memory rule manager
69
- this.memoryRuleManager = new MemoryRuleManager({
49
+ this.container = setupAgentContainer({
50
+ options,
70
51
  workdir: this.workdir,
71
- });
72
- // Initialize MessageManager
73
- this.messageManager = new MessageManager({
74
- callbacks: {
75
- ...callbacks,
76
- onSessionIdChange: (sessionId) => {
77
- // When session ID changes (e.g. due to compression),
78
- // we update the task manager to use the root session ID
79
- // to ensure the task list remains consistent.
80
- this.taskManager.setTaskListId(this.messageManager.getRootSessionId());
81
- callbacks.onSessionIdChange?.(sessionId);
82
- },
52
+ configurationService: this.configurationService,
53
+ systemPrompt: this.systemPrompt,
54
+ stream: this.stream,
55
+ onSessionIdChange: () => {
56
+ this.taskManager.setTaskListId(this.messageManager.getRootSessionId());
83
57
  },
84
- workdir: this.workdir,
85
- logger: this.logger,
86
- memoryRuleManager: this.memoryRuleManager,
87
- });
88
- // Resolve taskListId once during construction to ensure stability
89
- const resolvedTaskListId = this.configurationService.getEnvironmentVars().WAVE_TASK_LIST_ID ||
90
- process.env.WAVE_TASK_LIST_ID ||
91
- this.messageManager.getRootSessionId();
92
- this.taskManager = new TaskManager(resolvedTaskListId);
93
- this.taskManager.on("tasksChange", async () => {
94
- const tasks = await this.taskManager.listTasks();
95
- this.options.callbacks?.onSessionTasksChange?.(tasks);
96
- });
97
- // Initialize BackgroundTaskManager
98
- this.backgroundTaskManager = new BackgroundTaskManager({
99
- callbacks: {
100
- ...callbacks,
101
- onTasksChange: (tasks) => {
102
- callbacks.onTasksChange?.(tasks);
103
- },
58
+ onSessionTasksChange: (tasks) => {
59
+ this.options.callbacks?.onSessionTasksChange?.(tasks);
104
60
  },
105
- workdir: this.workdir,
106
- });
107
- this.mcpManager = new McpManager({ callbacks, logger: this.logger }); // Initialize MCP manager
108
- this.lspManager =
109
- options.lspManager || new LspManager({ logger: this.logger }); // Initialize LSP manager
110
- // Initialize permission manager
111
- this.permissionManager = new PermissionManager({
112
- logger: this.logger,
113
- workdir: this.workdir,
114
- });
115
- this.permissionManager.setOnConfiguredDefaultModeChange((mode) => {
116
- this.handlePlanModeTransition(mode);
117
- this.options.callbacks?.onPermissionModeChange?.(mode);
118
- });
119
- // Initialize plan manager
120
- this.planManager = new PlanManager(this.logger);
121
- // Initialize configuration service and hooks manager
122
- this.hookManager = new HookManager(this.workdir, undefined, this.logger); // Initialize hooks manager
123
- // Initialize skill manager
124
- this.skillManager = new SkillManager({
125
- logger: this.logger,
126
- workdir: this.workdir,
127
- });
128
- // ReversionManager depends on MessageManager
129
- this.reversionManager = new ReversionManager(new ReversionService(this.messageManager.getTranscriptPath()));
130
- // Create a wrapper for canUseTool that triggers notification hooks
131
- const canUseToolWithNotification = options.canUseTool
132
- ? async (context) => {
133
- try {
134
- // Trigger notification hooks before calling the original callback
135
- const notificationMessage = `Claude needs your permission to use ${context.toolName}`;
136
- await this.hookManager.executeHooks("Notification", {
137
- event: "Notification",
138
- projectDir: this.workdir,
139
- timestamp: new Date(),
140
- sessionId: this.sessionId,
141
- transcriptPath: this.messageManager.getTranscriptPath(),
142
- cwd: this.workdir,
143
- message: notificationMessage,
144
- notificationType: "permission_prompt",
145
- env: this.configurationService.getEnvironmentVars(), // Include configuration environment variables
146
- });
147
- }
148
- catch (error) {
149
- this.logger?.warn("Failed to execute notification hooks", {
150
- toolName: context.toolName,
151
- error: error instanceof Error ? error.message : String(error),
152
- });
153
- // Continue with permission check even if hooks fail
154
- }
155
- // Call the original callback
156
- const decision = await options.canUseTool(context);
157
- // Handle state changes from decision
158
- if (decision.newPermissionMode) {
159
- this.setPermissionMode(decision.newPermissionMode);
160
- }
161
- if (decision.newPermissionRule) {
162
- await this.addPermissionRule(decision.newPermissionRule);
163
- }
164
- return decision;
165
- }
166
- : undefined;
167
- // Initialize tool manager with permission context
168
- this.toolManager = new ToolManager({
169
- mcpManager: this.mcpManager,
170
- lspManager: this.lspManager,
171
- logger: this.logger,
172
- permissionManager: this.permissionManager,
173
- reversionManager: this.reversionManager,
174
- permissionMode: options.permissionMode, // Let PermissionManager handle defaultMode resolution
175
- canUseToolCallback: canUseToolWithNotification,
176
- taskManager: this.taskManager,
177
- backgroundTaskManager: this.backgroundTaskManager,
178
- foregroundTaskManager: this.foregroundTaskManager,
179
- }); // Initialize tool registry with permission support
180
- this.liveConfigManager = new LiveConfigManager({
181
- workdir: this.workdir,
182
- logger: this.logger,
183
- hookManager: this.hookManager,
184
- permissionManager: this.permissionManager,
185
- configurationService: this.configurationService,
186
- }); // Initialize live configuration manager
187
- // Initialize subagent manager with all dependencies in constructor
188
- // IMPORTANT: Must be initialized AFTER MessageManager
189
- this.subagentManager = new SubagentManager({
190
- workdir: this.workdir,
191
- parentToolManager: this.toolManager,
192
- callbacks: {
193
- onSubagentUserMessageAdded: callbacks.onSubagentUserMessageAdded,
194
- onSubagentAssistantMessageAdded: callbacks.onSubagentAssistantMessageAdded,
195
- onSubagentAssistantContentUpdated: callbacks.onSubagentAssistantContentUpdated,
196
- onSubagentAssistantReasoningUpdated: callbacks.onSubagentAssistantReasoningUpdated,
197
- onSubagentToolBlockUpdated: callbacks.onSubagentToolBlockUpdated,
198
- onSubagentMessagesChange: callbacks.onSubagentMessagesChange,
199
- onSubagentLatestTotalTokensChange: callbacks.onSubagentLatestTotalTokensChange,
200
- }, // Pass subagent callbacks for forwarding
201
- logger: this.logger,
202
- getGatewayConfig: () => this.getGatewayConfig(),
203
- getModelConfig: () => this.getModelConfig(),
204
- getMaxInputTokens: () => this.getMaxInputTokens(),
205
- getLanguage: () => this.getLanguage(),
206
- hookManager: this.hookManager,
207
- onUsageAdded: (usage) => this.addUsage(usage),
208
- backgroundTaskManager: this.backgroundTaskManager,
209
- taskManager: this.taskManager,
210
- memoryRuleManager: this.memoryRuleManager,
211
- });
212
- // Initialize AI manager with resolved configuration
213
- this.aiManager = new AIManager({
214
- messageManager: this.messageManager,
215
- toolManager: this.toolManager,
216
- taskManager: this.taskManager,
217
- logger: this.logger,
218
- backgroundTaskManager: this.backgroundTaskManager,
219
- hookManager: this.hookManager,
220
- permissionManager: this.permissionManager,
221
- callbacks: {
222
- ...callbacks,
223
- onUsageAdded: (usage) => {
224
- this.addUsage(usage);
225
- },
61
+ onTasksChange: (tasks) => {
62
+ this.options.callbacks?.onTasksChange?.(tasks);
226
63
  },
227
- workdir: this.workdir,
228
- systemPrompt: this.systemPrompt,
229
- stream: this.stream, // Pass streaming mode flag
230
- reversionManager: this.reversionManager,
64
+ onPermissionModeChange: (mode) => {
65
+ this.options.callbacks?.onPermissionModeChange?.(mode);
66
+ },
67
+ handlePlanModeTransition: (mode) => {
68
+ this.handlePlanModeTransition(mode);
69
+ },
70
+ setPermissionMode: (mode) => {
71
+ this.setPermissionMode(mode);
72
+ },
73
+ addPermissionRule: (rule) => this.addPermissionRule(rule),
74
+ addUsage: (usage) => this.addUsage(usage),
231
75
  getGatewayConfig: () => this.getGatewayConfig(),
232
76
  getModelConfig: () => this.getModelConfig(),
233
77
  getMaxInputTokens: () => this.getMaxInputTokens(),
234
78
  getLanguage: () => this.getLanguage(),
235
- getEnvironmentVars: () => this.configurationService.getEnvironmentVars(), // Provide access to configuration environment variables
236
- });
237
- // Initialize command manager
238
- this.slashCommandManager = new SlashCommandManager({
239
- messageManager: this.messageManager,
240
- aiManager: this.aiManager,
241
- backgroundTaskManager: this.backgroundTaskManager,
242
- taskManager: this.taskManager,
243
- workdir: this.workdir,
244
- logger: this.logger,
245
- });
246
- // Initialize plugin manager
247
- this.pluginManager = new PluginManager({
248
- workdir: this.workdir,
249
- logger: this.logger,
250
- slashCommandManager: this.slashCommandManager,
251
- mcpManager: this.mcpManager,
252
- lspManager: this.lspManager instanceof LspManager ? this.lspManager : undefined,
253
- hookManager: this.hookManager,
254
- skillManager: this.skillManager,
255
- configurationService: this.configurationService,
256
- });
257
- // Initialize bash manager
258
- this.bashManager = new BashManager({
259
- messageManager: this.messageManager,
260
- workdir: this.workdir,
261
79
  });
80
+ // Retrieve managers from container
81
+ this.foregroundTaskManager = this.container.get("ForegroundTaskManager");
82
+ this.memoryRuleManager = this.container.get("MemoryRuleManager");
83
+ this.messageManager = this.container.get("MessageManager");
84
+ this.taskManager = this.container.get("TaskManager");
85
+ this.backgroundTaskManager = this.container.get("BackgroundTaskManager");
86
+ this.mcpManager = this.container.get("McpManager");
87
+ this.lspManager = this.container.get("LspManager");
88
+ this.permissionManager = this.container.get("PermissionManager");
89
+ this.planManager = this.container.get("PlanManager");
90
+ this.hookManager = this.container.get("HookManager");
91
+ this.skillManager = this.container.get("SkillManager");
92
+ this.reversionManager = this.container.get("ReversionManager");
93
+ this.toolManager = this.container.get("ToolManager");
94
+ this.liveConfigManager = this.container.get("LiveConfigManager");
95
+ this.subagentManager = this.container.get("SubagentManager");
96
+ this.aiManager = this.container.get("AIManager");
97
+ this.slashCommandManager = this.container.get("SlashCommandManager");
98
+ this.pluginManager = this.container.get("PluginManager");
99
+ this.bashManager = this.container.get("BashManager");
262
100
  // Set initial permission mode if provided
263
101
  if (options.permissionMode) {
264
102
  this.setPermissionMode(options.permissionMode);
@@ -419,11 +257,11 @@ export class Agent {
419
257
  await this.skillManager.initialize();
420
258
  // Initialize SubagentManager (load and cache configurations)
421
259
  await this.subagentManager.initialize();
422
- // Initialize built-in tools with dependencies
423
- this.toolManager.initializeBuiltInTools({
424
- subagentManager: this.subagentManager,
425
- skillManager: this.skillManager,
426
- });
260
+ // Register managers in container for tool access
261
+ this.container.register("SubagentManager", this.subagentManager);
262
+ this.container.register("SkillManager", this.skillManager);
263
+ // Initialize built-in tools
264
+ this.toolManager.initializeBuiltInTools();
427
265
  // Initialize plugins
428
266
  await this.pluginManager.loadPlugins(this.options.plugins || []);
429
267
  }
@@ -474,35 +312,6 @@ export class Agent {
474
312
  this.logger?.debug("Initializing live configuration reload...");
475
313
  await this.liveConfigManager.initialize();
476
314
  this.logger?.debug("Live configuration reload initialized successfully");
477
- // Update permission manager with configuration-based defaultMode
478
- const currentConfig = this.liveConfigManager.getCurrentConfiguration();
479
- if (currentConfig?.permissions?.defaultMode) {
480
- this.logger?.debug("Applying configured defaultMode to PermissionManager", {
481
- defaultMode: currentConfig.permissions.defaultMode,
482
- });
483
- this.permissionManager.updateConfiguredDefaultMode(currentConfig.permissions.defaultMode);
484
- }
485
- // Update permission manager with configuration-based allowed rules
486
- if (currentConfig?.permissions?.allow) {
487
- this.logger?.debug("Applying configured allowed rules to PermissionManager", {
488
- count: currentConfig.permissions.allow.length,
489
- });
490
- this.permissionManager.updateAllowedRules(currentConfig.permissions.allow);
491
- }
492
- // Update permission manager with configuration-based denied rules
493
- if (currentConfig?.permissions?.deny) {
494
- this.logger?.debug("Applying configured denied rules to PermissionManager", {
495
- count: currentConfig.permissions.deny.length,
496
- });
497
- this.permissionManager.updateDeniedRules(currentConfig.permissions.deny);
498
- }
499
- // Update permission manager with configuration-based additionalDirectories
500
- if (currentConfig?.permissions?.additionalDirectories) {
501
- this.logger?.debug("Applying configured additionalDirectories to PermissionManager", {
502
- count: currentConfig.permissions.additionalDirectories.length,
503
- });
504
- this.permissionManager.updateAdditionalDirectories(currentConfig.permissions.additionalDirectories);
505
- }
506
315
  }
507
316
  catch (error) {
508
317
  this.logger?.error("Failed to initialize live configuration reload:", error);
@@ -2,14 +2,12 @@ export declare const ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion";
2
2
  export declare const BASH_TOOL_NAME = "Bash";
3
3
  export declare const TASK_OUTPUT_TOOL_NAME = "TaskOutput";
4
4
  export declare const TASK_STOP_TOOL_NAME = "TaskStop";
5
- export declare const DELETE_FILE_TOOL_NAME = "Delete";
6
5
  export declare const EDIT_TOOL_NAME = "Edit";
7
6
  export declare const EXIT_PLAN_MODE_TOOL_NAME = "ExitPlanMode";
8
7
  export declare const GLOB_TOOL_NAME = "Glob";
9
8
  export declare const GREP_TOOL_NAME = "Grep";
10
9
  export declare const LSP_TOOL_NAME = "LSP";
11
10
  export declare const LS_TOOL_NAME = "LS";
12
- export declare const MULTI_EDIT_TOOL_NAME = "MultiEdit";
13
11
  export declare const READ_TOOL_NAME = "Read";
14
12
  export declare const SKILL_TOOL_NAME = "Skill";
15
13
  export declare const TASK_TOOL_NAME = "Task";
@@ -1 +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,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,eAAe,UAAU,CAAC"}
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,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,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,eAAe,UAAU,CAAC"}
@@ -2,14 +2,12 @@ export const ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion";
2
2
  export const BASH_TOOL_NAME = "Bash";
3
3
  export const TASK_OUTPUT_TOOL_NAME = "TaskOutput";
4
4
  export const TASK_STOP_TOOL_NAME = "TaskStop";
5
- export const DELETE_FILE_TOOL_NAME = "Delete";
6
5
  export const EDIT_TOOL_NAME = "Edit";
7
6
  export const EXIT_PLAN_MODE_TOOL_NAME = "ExitPlanMode";
8
7
  export const GLOB_TOOL_NAME = "Glob";
9
8
  export const GREP_TOOL_NAME = "Grep";
10
9
  export const LSP_TOOL_NAME = "LSP";
11
10
  export const LS_TOOL_NAME = "LS";
12
- export const MULTI_EDIT_TOOL_NAME = "MultiEdit";
13
11
  export const READ_TOOL_NAME = "Read";
14
12
  export const SKILL_TOOL_NAME = "Skill";
15
13
  export const TASK_TOOL_NAME = "Task";
@@ -0,0 +1,86 @@
1
+ import { Scope, InstalledPlugin, KnownMarketplace, MarketplaceManifest, InstalledPluginsRegistry, MarketplacePluginStatus } from "../types/index.js";
2
+ /**
3
+ * PluginCore
4
+ *
5
+ * Encapsulates plugin management logic, providing a high-level API for
6
+ * installing, uninstalling, enabling, and disabling plugins.
7
+ */
8
+ export declare class PluginCore {
9
+ private container;
10
+ private pluginManager;
11
+ private pluginScopeManager;
12
+ private marketplaceService;
13
+ private configurationService;
14
+ private workdir;
15
+ constructor(workdir?: string);
16
+ /**
17
+ * Installs a plugin from a marketplace
18
+ */
19
+ installPlugin(pluginId: string, scope?: Scope): Promise<InstalledPlugin>;
20
+ /**
21
+ * Uninstalls a plugin and removes it from all configuration scopes
22
+ */
23
+ uninstallPlugin(pluginId: string): Promise<void>;
24
+ /**
25
+ * Enables a plugin in the specified scope. If no scope is provided, it tries to find
26
+ * the scope where the plugin is already configured, or defaults to "user".
27
+ */
28
+ enablePlugin(pluginId: string, scope?: Scope): Promise<Scope>;
29
+ /**
30
+ * Disables a plugin in the specified scope. If no scope is provided, it tries to find
31
+ * the scope where the plugin is already configured, or defaults to "user".
32
+ */
33
+ disablePlugin(pluginId: string, scope?: Scope): Promise<Scope>;
34
+ /**
35
+ * Updates an installed plugin to the latest version from its marketplace
36
+ */
37
+ updatePlugin(pluginId: string): Promise<InstalledPlugin>;
38
+ /**
39
+ * Lists all plugins from all registered marketplaces with their installation and enabled status
40
+ */
41
+ listPlugins(): Promise<{
42
+ plugins: MarketplacePluginStatus[];
43
+ mergedEnabled: Record<string, boolean>;
44
+ }>;
45
+ /**
46
+ * Adds a new marketplace
47
+ */
48
+ addMarketplace(input: string): Promise<KnownMarketplace>;
49
+ /**
50
+ * Removes a marketplace by name
51
+ */
52
+ removeMarketplace(name: string): Promise<void>;
53
+ /**
54
+ * Updates a specific marketplace or all marketplaces
55
+ */
56
+ updateMarketplace(name?: string): Promise<void>;
57
+ /**
58
+ * Lists all registered marketplaces
59
+ */
60
+ listMarketplaces(): Promise<KnownMarketplace[]>;
61
+ /**
62
+ * Gets the registry of all installed plugins
63
+ */
64
+ getInstalledPlugins(): Promise<InstalledPluginsRegistry>;
65
+ /**
66
+ * Gets the merged enabled state of all plugins across all scopes
67
+ */
68
+ getMergedEnabledPlugins(): Record<string, boolean>;
69
+ /**
70
+ * Loads a marketplace manifest from a local path
71
+ */
72
+ loadMarketplaceManifest(marketplacePath: string): Promise<MarketplaceManifest>;
73
+ /**
74
+ * Resolves the local path for a marketplace
75
+ */
76
+ getMarketplacePath(marketplace: KnownMarketplace): string;
77
+ /**
78
+ * Finds the scope where a plugin is currently enabled/disabled
79
+ */
80
+ findPluginScope(pluginId: string): Scope | null;
81
+ /**
82
+ * Removes a plugin from the enabled plugins in the specified scope
83
+ */
84
+ removeEnabledPlugin(scope: Scope, pluginId: string): Promise<void>;
85
+ }
86
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/core/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE,MAAsB;IAoB3C;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC,eAAe,CAAC;IAS3B;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAMnE;;;OAGG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAMpE;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAI9D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,CAAC;IA0CF;;OAEG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9D;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;IACG,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIrD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAI9D;;OAEG;IACH,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIlD;;OAEG;IACG,uBAAuB,CAC3B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAM/B;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,GAAG,MAAM;IAIzD;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAI/C;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOzE"}