wave-agent-sdk 0.4.0 → 0.5.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.
- package/dist/agent.d.ts +28 -5
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +54 -37
- package/dist/constants/tools.d.ts +2 -2
- package/dist/constants/tools.js +2 -2
- package/dist/managers/MemoryRuleManager.js +1 -1
- package/dist/managers/aiManager.d.ts +3 -3
- package/dist/managers/aiManager.d.ts.map +1 -1
- package/dist/managers/aiManager.js +3 -4
- package/dist/managers/backgroundBashManager.d.ts.map +1 -1
- package/dist/managers/backgroundBashManager.js +1 -0
- package/dist/managers/backgroundTaskManager.d.ts +35 -0
- package/dist/managers/backgroundTaskManager.d.ts.map +1 -0
- package/dist/managers/backgroundTaskManager.js +249 -0
- package/dist/managers/foregroundTaskManager.d.ts +9 -0
- package/dist/managers/foregroundTaskManager.d.ts.map +1 -0
- package/dist/managers/foregroundTaskManager.js +20 -0
- package/dist/managers/liveConfigManager.d.ts +1 -1
- package/dist/managers/lspManager.d.ts.map +1 -1
- package/dist/managers/lspManager.js +3 -1
- package/dist/managers/messageManager.d.ts +12 -2
- package/dist/managers/messageManager.d.ts.map +1 -1
- package/dist/managers/messageManager.js +36 -2
- package/dist/managers/permissionManager.d.ts.map +1 -1
- package/dist/managers/permissionManager.js +1 -7
- package/dist/managers/pluginManager.d.ts.map +1 -1
- package/dist/managers/pluginManager.js +3 -2
- package/dist/managers/slashCommandManager.d.ts +3 -0
- package/dist/managers/slashCommandManager.d.ts.map +1 -1
- package/dist/managers/slashCommandManager.js +1 -0
- package/dist/managers/subagentManager.d.ts +11 -2
- package/dist/managers/subagentManager.d.ts.map +1 -1
- package/dist/managers/subagentManager.js +137 -39
- package/dist/managers/toolManager.d.ts +7 -1
- package/dist/managers/toolManager.d.ts.map +1 -1
- package/dist/managers/toolManager.js +9 -3
- package/dist/services/GitService.d.ts.map +1 -1
- package/dist/services/GitService.js +6 -2
- package/dist/services/MarketplaceService.d.ts +2 -2
- package/dist/services/MarketplaceService.d.ts.map +1 -1
- package/dist/services/MarketplaceService.js +18 -11
- package/dist/services/MemoryRuleService.d.ts +1 -1
- package/dist/services/MemoryRuleService.d.ts.map +1 -1
- package/dist/services/MemoryRuleService.js +13 -2
- package/dist/services/memory.js +1 -1
- package/dist/tools/bashTool.d.ts +0 -8
- package/dist/tools/bashTool.d.ts.map +1 -1
- package/dist/tools/bashTool.js +44 -172
- package/dist/tools/editTool.d.ts.map +1 -1
- package/dist/tools/editTool.js +6 -5
- package/dist/tools/multiEditTool.d.ts.map +1 -1
- package/dist/tools/multiEditTool.js +7 -6
- package/dist/tools/taskOutputTool.d.ts +3 -0
- package/dist/tools/taskOutputTool.d.ts.map +1 -0
- package/dist/tools/taskOutputTool.js +149 -0
- package/dist/tools/taskStopTool.d.ts +3 -0
- package/dist/tools/taskStopTool.d.ts.map +1 -0
- package/dist/tools/taskStopTool.js +65 -0
- package/dist/tools/taskTool.d.ts.map +1 -1
- package/dist/tools/taskTool.js +105 -63
- package/dist/tools/types.d.ts +3 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/types/marketplace.d.ts +1 -0
- package/dist/types/marketplace.d.ts.map +1 -1
- package/dist/types/messaging.d.ts +1 -0
- package/dist/types/messaging.d.ts.map +1 -1
- package/dist/types/processes.d.ts +24 -4
- package/dist/types/processes.d.ts.map +1 -1
- package/dist/utils/editUtils.d.ts +2 -11
- package/dist/utils/editUtils.d.ts.map +1 -1
- package/dist/utils/editUtils.js +52 -79
- package/dist/utils/messageOperations.d.ts +3 -1
- package/dist/utils/messageOperations.d.ts.map +1 -1
- package/dist/utils/messageOperations.js +5 -1
- package/package.json +5 -5
- package/src/agent.ts +73 -45
- package/src/constants/tools.ts +2 -2
- package/src/managers/MemoryRuleManager.ts +1 -1
- package/src/managers/aiManager.ts +6 -9
- package/src/managers/backgroundBashManager.ts +1 -0
- package/src/managers/backgroundTaskManager.ts +306 -0
- package/src/managers/foregroundTaskManager.ts +26 -0
- package/src/managers/lspManager.ts +3 -1
- package/src/managers/messageManager.ts +48 -2
- package/src/managers/permissionManager.ts +1 -7
- package/src/managers/pluginManager.ts +4 -3
- package/src/managers/slashCommandManager.ts +4 -0
- package/src/managers/subagentManager.ts +167 -35
- package/src/managers/toolManager.ts +16 -4
- package/src/services/GitService.ts +6 -2
- package/src/services/MarketplaceService.ts +30 -12
- package/src/services/MemoryRuleService.ts +18 -6
- package/src/services/memory.ts +1 -1
- package/src/tools/bashTool.ts +59 -196
- package/src/tools/editTool.ts +6 -17
- package/src/tools/multiEditTool.ts +7 -18
- package/src/tools/taskOutputTool.ts +174 -0
- package/src/tools/taskStopTool.ts +72 -0
- package/src/tools/taskTool.ts +130 -74
- package/src/tools/types.ts +3 -0
- package/src/types/marketplace.ts +1 -0
- package/src/types/messaging.ts +1 -0
- package/src/types/processes.ts +33 -4
- package/src/utils/editUtils.ts +65 -103
- package/src/utils/messageOperations.ts +7 -0
package/dist/agent.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
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
|
-
import { type
|
|
4
|
+
import { type BackgroundTaskManagerCallbacks } from "./managers/backgroundTaskManager.js";
|
|
5
5
|
import type { SlashCommand, CustomSlashCommand, ILspManager, PluginConfig } from "./types/index.js";
|
|
6
|
-
import type { Message, Logger, McpServerStatus, GatewayConfig, ModelConfig, Usage, PermissionMode, PermissionCallback } from "./types/index.js";
|
|
6
|
+
import type { Message, Logger, McpServerStatus, GatewayConfig, ModelConfig, Usage, PermissionMode, PermissionCallback, BackgroundTask, ForegroundTask } from "./types/index.js";
|
|
7
7
|
import { ClientOptions } from "openai";
|
|
8
8
|
/**
|
|
9
9
|
* Configuration options for Agent instances
|
|
@@ -44,14 +44,16 @@ export interface AgentOptions {
|
|
|
44
44
|
/**Optional local plugins to load */
|
|
45
45
|
plugins?: PluginConfig[];
|
|
46
46
|
}
|
|
47
|
-
export interface AgentCallbacks extends MessageManagerCallbacks,
|
|
47
|
+
export interface AgentCallbacks extends MessageManagerCallbacks, BackgroundTaskManagerCallbacks, McpManagerCallbacks, SubagentManagerCallbacks {
|
|
48
|
+
onTasksChange?: (tasks: BackgroundTask[]) => void;
|
|
48
49
|
onPermissionModeChange?: (mode: PermissionMode) => void;
|
|
50
|
+
onBackgroundCurrentTask?: () => void;
|
|
49
51
|
}
|
|
50
52
|
export declare class Agent {
|
|
51
53
|
private messageManager;
|
|
52
54
|
private aiManager;
|
|
53
55
|
private bashManager;
|
|
54
|
-
private
|
|
56
|
+
private backgroundTaskManager;
|
|
55
57
|
private logger?;
|
|
56
58
|
private toolManager;
|
|
57
59
|
private mcpManager;
|
|
@@ -66,6 +68,7 @@ export declare class Agent {
|
|
|
66
68
|
private reversionManager;
|
|
67
69
|
private memoryRuleManager;
|
|
68
70
|
private liveConfigManager;
|
|
71
|
+
private foregroundTaskManager;
|
|
69
72
|
private configurationService;
|
|
70
73
|
private workdir;
|
|
71
74
|
private systemPrompt?;
|
|
@@ -111,7 +114,7 @@ export declare class Agent {
|
|
|
111
114
|
/** Get user memory content */
|
|
112
115
|
get userMemory(): string;
|
|
113
116
|
/** Get combined memory content (project + user + modular rules) */
|
|
114
|
-
|
|
117
|
+
getCombinedMemory(): Promise<string>;
|
|
115
118
|
/** Get AI loading status */
|
|
116
119
|
get isLoading(): boolean;
|
|
117
120
|
/** Get message compression status */
|
|
@@ -126,6 +129,14 @@ export declare class Agent {
|
|
|
126
129
|
} | null;
|
|
127
130
|
/** Kill background bash shell */
|
|
128
131
|
killBackgroundShell(id: string): boolean;
|
|
132
|
+
/** Get background task output */
|
|
133
|
+
getBackgroundTaskOutput(id: string, filter?: string): {
|
|
134
|
+
stdout: string;
|
|
135
|
+
stderr: string;
|
|
136
|
+
status: string;
|
|
137
|
+
} | null;
|
|
138
|
+
/** Stop background task */
|
|
139
|
+
stopBackgroundTask(id: string): boolean;
|
|
129
140
|
/**
|
|
130
141
|
* Static async factory method for creating Agent instances
|
|
131
142
|
*
|
|
@@ -198,6 +209,18 @@ export declare class Agent {
|
|
|
198
209
|
abortBashCommand(): void;
|
|
199
210
|
/** Interrupt slash command execution */
|
|
200
211
|
abortSlashCommand(): void;
|
|
212
|
+
/**
|
|
213
|
+
* Register a foreground task that can be backgrounded
|
|
214
|
+
*/
|
|
215
|
+
registerForegroundTask(task: ForegroundTask): void;
|
|
216
|
+
/**
|
|
217
|
+
* Unregister a foreground task
|
|
218
|
+
*/
|
|
219
|
+
unregisterForegroundTask(id: string): void;
|
|
220
|
+
/**
|
|
221
|
+
* Background the current foreground task
|
|
222
|
+
*/
|
|
223
|
+
backgroundCurrentTask(): Promise<void>;
|
|
201
224
|
/** Destroy managers, clean up resources */
|
|
202
225
|
destroy(): Promise<void>;
|
|
203
226
|
/**
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ForegroundTaskManager } from "./managers/foregroundTaskManager.js";
|
|
1
2
|
import { MessageManager, } from "./managers/messageManager.js";
|
|
2
3
|
import { AIManager } from "./managers/aiManager.js";
|
|
3
4
|
import { ToolManager } from "./managers/toolManager.js";
|
|
@@ -6,7 +7,7 @@ import * as memory from "./services/memory.js";
|
|
|
6
7
|
import { McpManager } from "./managers/mcpManager.js";
|
|
7
8
|
import { LspManager } from "./managers/lspManager.js";
|
|
8
9
|
import { BashManager } from "./managers/bashManager.js";
|
|
9
|
-
import {
|
|
10
|
+
import { BackgroundTaskManager, } from "./managers/backgroundTaskManager.js";
|
|
10
11
|
import { SlashCommandManager } from "./managers/slashCommandManager.js";
|
|
11
12
|
import { PluginManager } from "./managers/pluginManager.js";
|
|
12
13
|
import { HookManager } from "./managers/hookManager.js";
|
|
@@ -63,8 +64,14 @@ export class Agent {
|
|
|
63
64
|
this.stream = stream; // Save streaming mode flag
|
|
64
65
|
// Store options for dynamic configuration resolution
|
|
65
66
|
this.options = options;
|
|
66
|
-
this.
|
|
67
|
-
|
|
67
|
+
this.foregroundTaskManager = new ForegroundTaskManager();
|
|
68
|
+
this.backgroundTaskManager = new BackgroundTaskManager({
|
|
69
|
+
callbacks: {
|
|
70
|
+
...callbacks,
|
|
71
|
+
onTasksChange: (tasks) => {
|
|
72
|
+
callbacks.onTasksChange?.(tasks);
|
|
73
|
+
},
|
|
74
|
+
},
|
|
68
75
|
workdir: this.workdir,
|
|
69
76
|
});
|
|
70
77
|
this.mcpManager = new McpManager({ callbacks, logger: this.logger }); // Initialize MCP manager
|
|
@@ -88,18 +95,19 @@ export class Agent {
|
|
|
88
95
|
logger: this.logger,
|
|
89
96
|
workdir: this.workdir,
|
|
90
97
|
});
|
|
98
|
+
// Initialize memory rule manager
|
|
99
|
+
this.memoryRuleManager = new MemoryRuleManager({
|
|
100
|
+
workdir: this.workdir,
|
|
101
|
+
});
|
|
91
102
|
// Initialize MessageManager
|
|
92
103
|
this.messageManager = new MessageManager({
|
|
93
104
|
callbacks,
|
|
94
105
|
workdir: this.workdir,
|
|
95
106
|
logger: this.logger,
|
|
107
|
+
memoryRuleManager: this.memoryRuleManager,
|
|
96
108
|
});
|
|
97
109
|
// Initialize ReversionManager
|
|
98
110
|
this.reversionManager = new ReversionManager(new ReversionService(this.messageManager.getTranscriptPath()));
|
|
99
|
-
// Initialize memory rule manager
|
|
100
|
-
this.memoryRuleManager = new MemoryRuleManager({
|
|
101
|
-
workdir: this.workdir,
|
|
102
|
-
});
|
|
103
111
|
// Create a wrapper for canUseTool that triggers notification hooks
|
|
104
112
|
const canUseToolWithNotification = options.canUseTool
|
|
105
113
|
? async (context) => {
|
|
@@ -146,6 +154,8 @@ export class Agent {
|
|
|
146
154
|
reversionManager: this.reversionManager,
|
|
147
155
|
permissionMode: options.permissionMode, // Let PermissionManager handle defaultMode resolution
|
|
148
156
|
canUseToolCallback: canUseToolWithNotification,
|
|
157
|
+
backgroundTaskManager: this.backgroundTaskManager,
|
|
158
|
+
foregroundTaskManager: this.foregroundTaskManager,
|
|
149
159
|
}); // Initialize tool registry with permission support
|
|
150
160
|
this.liveConfigManager = new LiveConfigManager({
|
|
151
161
|
workdir: this.workdir,
|
|
@@ -175,13 +185,15 @@ export class Agent {
|
|
|
175
185
|
getLanguage: () => this.getLanguage(),
|
|
176
186
|
hookManager: this.hookManager,
|
|
177
187
|
onUsageAdded: (usage) => this.addUsage(usage),
|
|
188
|
+
backgroundTaskManager: this.backgroundTaskManager,
|
|
189
|
+
memoryRuleManager: this.memoryRuleManager,
|
|
178
190
|
});
|
|
179
191
|
// Initialize AI manager with resolved configuration
|
|
180
192
|
this.aiManager = new AIManager({
|
|
181
193
|
messageManager: this.messageManager,
|
|
182
194
|
toolManager: this.toolManager,
|
|
183
195
|
logger: this.logger,
|
|
184
|
-
|
|
196
|
+
backgroundTaskManager: this.backgroundTaskManager,
|
|
185
197
|
hookManager: this.hookManager,
|
|
186
198
|
permissionManager: this.permissionManager,
|
|
187
199
|
callbacks: {
|
|
@@ -204,6 +216,7 @@ export class Agent {
|
|
|
204
216
|
this.slashCommandManager = new SlashCommandManager({
|
|
205
217
|
messageManager: this.messageManager,
|
|
206
218
|
aiManager: this.aiManager,
|
|
219
|
+
backgroundTaskManager: this.backgroundTaskManager,
|
|
207
220
|
workdir: this.workdir,
|
|
208
221
|
logger: this.logger,
|
|
209
222
|
});
|
|
@@ -282,31 +295,8 @@ export class Agent {
|
|
|
282
295
|
return this._userMemoryContent;
|
|
283
296
|
}
|
|
284
297
|
/** Get combined memory content (project + user + modular rules) */
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
if (this._projectMemoryContent.trim()) {
|
|
288
|
-
combined += this._projectMemoryContent;
|
|
289
|
-
}
|
|
290
|
-
if (this._userMemoryContent.trim()) {
|
|
291
|
-
if (combined) {
|
|
292
|
-
combined += "\n\n";
|
|
293
|
-
}
|
|
294
|
-
combined += this._userMemoryContent;
|
|
295
|
-
}
|
|
296
|
-
// Add modular memory rules
|
|
297
|
-
const filesInContext = this.messageManager.getFilesInContext();
|
|
298
|
-
const activeRules = this.memoryRuleManager.getActiveRules(filesInContext);
|
|
299
|
-
if (activeRules.length > 0) {
|
|
300
|
-
this.logger?.debug(`Active modular rules (${activeRules.length}): ${activeRules.map((r) => r.id).join(", ")}`);
|
|
301
|
-
if (combined) {
|
|
302
|
-
combined += "\n\n";
|
|
303
|
-
}
|
|
304
|
-
combined += activeRules.map((r) => r.content).join("\n\n");
|
|
305
|
-
}
|
|
306
|
-
else {
|
|
307
|
-
this.logger?.debug("No active modular rules for current context");
|
|
308
|
-
}
|
|
309
|
-
return combined;
|
|
298
|
+
async getCombinedMemory() {
|
|
299
|
+
return this.messageManager.getCombinedMemory();
|
|
310
300
|
}
|
|
311
301
|
/** Get AI loading status */
|
|
312
302
|
get isLoading() {
|
|
@@ -322,11 +312,19 @@ export class Agent {
|
|
|
322
312
|
}
|
|
323
313
|
/** Get background bash shell output */
|
|
324
314
|
getBackgroundShellOutput(id, filter) {
|
|
325
|
-
return this.
|
|
315
|
+
return this.backgroundTaskManager.getOutput(id, filter);
|
|
326
316
|
}
|
|
327
317
|
/** Kill background bash shell */
|
|
328
318
|
killBackgroundShell(id) {
|
|
329
|
-
return this.
|
|
319
|
+
return this.backgroundTaskManager.stopTask(id);
|
|
320
|
+
}
|
|
321
|
+
/** Get background task output */
|
|
322
|
+
getBackgroundTaskOutput(id, filter) {
|
|
323
|
+
return this.backgroundTaskManager.getOutput(id, filter);
|
|
324
|
+
}
|
|
325
|
+
/** Stop background task */
|
|
326
|
+
stopBackgroundTask(id) {
|
|
327
|
+
return this.backgroundTaskManager.stopTask(id);
|
|
330
328
|
}
|
|
331
329
|
/**
|
|
332
330
|
* Static async factory method for creating Agent instances
|
|
@@ -654,14 +652,33 @@ export class Agent {
|
|
|
654
652
|
abortSlashCommand() {
|
|
655
653
|
this.slashCommandManager.abortCurrentCommand();
|
|
656
654
|
}
|
|
655
|
+
/**
|
|
656
|
+
* Register a foreground task that can be backgrounded
|
|
657
|
+
*/
|
|
658
|
+
registerForegroundTask(task) {
|
|
659
|
+
this.foregroundTaskManager.registerForegroundTask(task);
|
|
660
|
+
}
|
|
661
|
+
/**
|
|
662
|
+
* Unregister a foreground task
|
|
663
|
+
*/
|
|
664
|
+
unregisterForegroundTask(id) {
|
|
665
|
+
this.foregroundTaskManager.unregisterForegroundTask(id);
|
|
666
|
+
}
|
|
667
|
+
/**
|
|
668
|
+
* Background the current foreground task
|
|
669
|
+
*/
|
|
670
|
+
async backgroundCurrentTask() {
|
|
671
|
+
await this.foregroundTaskManager.backgroundCurrentTask();
|
|
672
|
+
this.options.callbacks?.onBackgroundCurrentTask?.();
|
|
673
|
+
}
|
|
657
674
|
/** Destroy managers, clean up resources */
|
|
658
675
|
async destroy() {
|
|
659
676
|
await this.messageManager.saveSession();
|
|
660
677
|
this.abortAIMessage(); // This will abort tools including Task tool (subagents)
|
|
661
678
|
this.abortBashCommand();
|
|
662
679
|
this.abortSlashCommand();
|
|
663
|
-
// Cleanup background
|
|
664
|
-
this.
|
|
680
|
+
// Cleanup background task manager
|
|
681
|
+
this.backgroundTaskManager.cleanup();
|
|
665
682
|
// Cleanup MCP connections
|
|
666
683
|
await this.mcpManager.cleanup();
|
|
667
684
|
// Cleanup LSP connections
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion";
|
|
2
2
|
export declare const BASH_TOOL_NAME = "Bash";
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
3
|
+
export declare const TASK_OUTPUT_TOOL_NAME = "TaskOutput";
|
|
4
|
+
export declare const TASK_STOP_TOOL_NAME = "TaskStop";
|
|
5
5
|
export declare const DELETE_FILE_TOOL_NAME = "Delete";
|
|
6
6
|
export declare const EDIT_TOOL_NAME = "Edit";
|
|
7
7
|
export declare const EXIT_PLAN_MODE_TOOL_NAME = "ExitPlanMode";
|
package/dist/constants/tools.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion";
|
|
2
2
|
export const BASH_TOOL_NAME = "Bash";
|
|
3
|
-
export const
|
|
4
|
-
export const
|
|
3
|
+
export const TASK_OUTPUT_TOOL_NAME = "TaskOutput";
|
|
4
|
+
export const TASK_STOP_TOOL_NAME = "TaskStop";
|
|
5
5
|
export const DELETE_FILE_TOOL_NAME = "Delete";
|
|
6
6
|
export const EDIT_TOOL_NAME = "Edit";
|
|
7
7
|
export const EXIT_PLAN_MODE_TOOL_NAME = "ExitPlanMode";
|
|
@@ -109,7 +109,7 @@ export class MemoryRuleManager {
|
|
|
109
109
|
getActiveRules(filesInContext) {
|
|
110
110
|
const activeRules = [];
|
|
111
111
|
for (const rule of Object.values(this.state.rules)) {
|
|
112
|
-
if (this.service.isRuleActive(rule, filesInContext)) {
|
|
112
|
+
if (this.service.isRuleActive(rule, filesInContext, this.workdir)) {
|
|
113
113
|
activeRules.push(rule);
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Logger, GatewayConfig, ModelConfig, Usage } from "../types/index.js";
|
|
2
2
|
import type { ToolManager } from "./toolManager.js";
|
|
3
3
|
import type { MessageManager } from "./messageManager.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { BackgroundTaskManager } from "./backgroundTaskManager.js";
|
|
5
5
|
import type { HookManager } from "./hookManager.js";
|
|
6
6
|
import type { PermissionManager } from "./permissionManager.js";
|
|
7
7
|
export interface AIManagerCallbacks {
|
|
@@ -12,7 +12,7 @@ export interface AIManagerOptions {
|
|
|
12
12
|
messageManager: MessageManager;
|
|
13
13
|
toolManager: ToolManager;
|
|
14
14
|
logger?: Logger;
|
|
15
|
-
|
|
15
|
+
backgroundTaskManager?: BackgroundTaskManager;
|
|
16
16
|
hookManager?: HookManager;
|
|
17
17
|
permissionManager?: PermissionManager;
|
|
18
18
|
callbacks?: AIManagerCallbacks;
|
|
@@ -35,7 +35,7 @@ export declare class AIManager {
|
|
|
35
35
|
private logger?;
|
|
36
36
|
private toolManager;
|
|
37
37
|
private messageManager;
|
|
38
|
-
private
|
|
38
|
+
private backgroundTaskManager?;
|
|
39
39
|
private hookManager?;
|
|
40
40
|
private reversionManager?;
|
|
41
41
|
private permissionManager?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiManager.d.ts","sourceRoot":"","sources":["../../src/managers/aiManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aiManager.d.ts","sourceRoot":"","sources":["../../src/managers/aiManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { callAgent, compressMessages, } from "../services/aiService.js";
|
|
|
2
2
|
import { getMessagesToCompress } from "../utils/messageOperations.js";
|
|
3
3
|
import { convertMessagesForAPI } from "../utils/convertMessagesForAPI.js";
|
|
4
4
|
import { calculateComprehensiveTotalTokens } from "../utils/tokenCalculation.js";
|
|
5
|
-
import * as memory from "../services/memory.js";
|
|
6
5
|
import * as fs from "node:fs/promises";
|
|
7
6
|
import { DEFAULT_SYSTEM_PROMPT, buildSystemPrompt, } from "../constants/prompts.js";
|
|
8
7
|
export class AIManager {
|
|
@@ -13,7 +12,7 @@ export class AIManager {
|
|
|
13
12
|
this.isCompressing = false;
|
|
14
13
|
this.messageManager = options.messageManager;
|
|
15
14
|
this.toolManager = options.toolManager;
|
|
16
|
-
this.
|
|
15
|
+
this.backgroundTaskManager = options.backgroundTaskManager;
|
|
17
16
|
this.hookManager = options.hookManager;
|
|
18
17
|
this.reversionManager = options.reversionManager;
|
|
19
18
|
this.permissionManager = options.permissionManager;
|
|
@@ -198,7 +197,7 @@ export class AIManager {
|
|
|
198
197
|
const recentMessages = convertMessagesForAPI(this.messageManager.getMessages());
|
|
199
198
|
try {
|
|
200
199
|
// Get combined memory content
|
|
201
|
-
const combinedMemory = await
|
|
200
|
+
const combinedMemory = await this.messageManager.getCombinedMemory();
|
|
202
201
|
// Track if assistant message has been created
|
|
203
202
|
let assistantMessageCreated = false;
|
|
204
203
|
this.logger?.debug("modelConfig in sendAIMessage", this.getModelConfig());
|
|
@@ -420,7 +419,7 @@ export class AIManager {
|
|
|
420
419
|
// Create tool execution context
|
|
421
420
|
const context = {
|
|
422
421
|
abortSignal: toolAbortController.signal,
|
|
423
|
-
|
|
422
|
+
backgroundTaskManager: this.backgroundTaskManager,
|
|
424
423
|
workdir: this.workdir,
|
|
425
424
|
messageId: this.messageManager.getMessages().slice(-1)[0]?.id,
|
|
426
425
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backgroundBashManager.d.ts","sourceRoot":"","sources":["../../src/managers/backgroundBashManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,8BAA8B;IAC7C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,4BAA4B;IAKjD,OAAO,CAAC,kBAAkB;IAInB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"backgroundBashManager.d.ts","sourceRoot":"","sources":["../../src/managers/backgroundBashManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,8BAA8B;IAC7C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,4BAA4B;IAKjD,OAAO,CAAC,kBAAkB;IAInB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAuErD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIjD,YAAY,IAAI,eAAe,EAAE;IAIjC,SAAS,CACd,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,GACd;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiCrD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAmD9B,OAAO,IAAI,IAAI;CAUvB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ChildProcess } from "child_process";
|
|
2
|
+
import { BackgroundTask } from "../types/processes.js";
|
|
3
|
+
export interface BackgroundTaskManagerCallbacks {
|
|
4
|
+
onTasksChange?: (tasks: BackgroundTask[]) => void;
|
|
5
|
+
}
|
|
6
|
+
export interface BackgroundTaskManagerOptions {
|
|
7
|
+
callbacks?: BackgroundTaskManagerCallbacks;
|
|
8
|
+
workdir: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class BackgroundTaskManager {
|
|
11
|
+
private tasks;
|
|
12
|
+
private nextId;
|
|
13
|
+
private callbacks;
|
|
14
|
+
private workdir;
|
|
15
|
+
constructor(options: BackgroundTaskManagerOptions);
|
|
16
|
+
private notifyTasksChange;
|
|
17
|
+
generateId(): string;
|
|
18
|
+
addTask(task: BackgroundTask): void;
|
|
19
|
+
getTask(id: string): BackgroundTask | undefined;
|
|
20
|
+
getAllTasks(): BackgroundTask[];
|
|
21
|
+
startShell(command: string, timeout?: number): {
|
|
22
|
+
id: string;
|
|
23
|
+
child: ChildProcess;
|
|
24
|
+
detach: () => void;
|
|
25
|
+
};
|
|
26
|
+
adoptProcess(child: ChildProcess, command: string, initialStdout?: string, initialStderr?: string): string;
|
|
27
|
+
getOutput(id: string, filter?: string): {
|
|
28
|
+
stdout: string;
|
|
29
|
+
stderr: string;
|
|
30
|
+
status: string;
|
|
31
|
+
} | null;
|
|
32
|
+
stopTask(id: string): boolean;
|
|
33
|
+
cleanup(): void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=backgroundTaskManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backgroundTaskManager.d.ts","sourceRoot":"","sources":["../../src/managers/backgroundTaskManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAIxE,MAAM,WAAW,8BAA8B;IAC7C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,4BAA4B;IAKjD,OAAO,CAAC,iBAAiB;IAIlB,UAAU,IAAI,MAAM;IAIpB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAKnC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI/C,WAAW,IAAI,cAAc,EAAE;IAI/B,UAAU,CACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IA0FnD,YAAY,CACjB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,MAAW,EAC1B,aAAa,GAAE,MAAW,GACzB,MAAM;IAgDF,SAAS,CACd,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,GACd;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiCrD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAmE7B,OAAO,IAAI,IAAI;CAUvB"}
|