wave-agent-sdk 0.8.3 → 0.9.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.
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +7 -10
- package/dist/constants/tools.d.ts +1 -2
- package/dist/constants/tools.d.ts.map +1 -1
- package/dist/constants/tools.js +1 -2
- package/dist/managers/aiManager.d.ts +6 -10
- package/dist/managers/aiManager.d.ts.map +1 -1
- package/dist/managers/aiManager.js +38 -13
- package/dist/managers/hookManager.d.ts.map +1 -1
- package/dist/managers/hookManager.js +15 -1
- package/dist/managers/messageManager.d.ts +1 -0
- package/dist/managers/messageManager.d.ts.map +1 -1
- package/dist/managers/messageManager.js +8 -2
- package/dist/managers/permissionManager.d.ts.map +1 -1
- package/dist/managers/permissionManager.js +2 -7
- package/dist/managers/subagentManager.d.ts +5 -14
- package/dist/managers/subagentManager.d.ts.map +1 -1
- package/dist/managers/subagentManager.js +17 -65
- package/dist/managers/toolManager.d.ts +2 -2
- package/dist/managers/toolManager.d.ts.map +1 -1
- package/dist/managers/toolManager.js +4 -6
- package/dist/prompts/autoMemory.d.ts +2 -0
- package/dist/prompts/autoMemory.d.ts.map +1 -0
- package/dist/prompts/autoMemory.js +33 -0
- package/dist/prompts/index.d.ts +4 -0
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +10 -3
- package/dist/services/aiService.js +6 -7
- package/dist/services/configurationService.d.ts +28 -16
- package/dist/services/configurationService.d.ts.map +1 -1
- package/dist/services/configurationService.js +87 -28
- package/dist/services/hook.js +2 -2
- package/dist/services/initializationService.d.ts.map +1 -1
- package/dist/services/initializationService.js +20 -9
- package/dist/services/memory.d.ts +22 -4
- package/dist/services/memory.d.ts.map +1 -1
- package/dist/services/memory.js +132 -73
- package/dist/tools/agentTool.d.ts +6 -0
- package/dist/tools/agentTool.d.ts.map +1 -0
- package/dist/tools/{taskTool.js → agentTool.js} +42 -30
- package/dist/tools/grepTool.js +2 -2
- package/dist/tools/skillTool.js +2 -2
- package/dist/tools/types.d.ts +1 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/types/configuration.d.ts +2 -0
- package/dist/types/configuration.d.ts.map +1 -1
- package/dist/types/hooks.d.ts +2 -0
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/hooks.js +17 -7
- package/dist/utils/builtinSubagents.d.ts.map +1 -1
- package/dist/utils/builtinSubagents.js +1 -3
- package/dist/utils/containerSetup.d.ts +0 -5
- package/dist/utils/containerSetup.d.ts.map +1 -1
- package/dist/utils/containerSetup.js +8 -11
- package/dist/utils/fileSearch.d.ts +1 -6
- package/dist/utils/fileSearch.d.ts.map +1 -1
- package/dist/utils/fileSearch.js +104 -75
- package/dist/utils/gitUtils.d.ts +6 -0
- package/dist/utils/gitUtils.d.ts.map +1 -1
- package/dist/utils/gitUtils.js +65 -1
- package/dist/utils/path.d.ts +0 -10
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +0 -61
- package/package.json +2 -1
- package/src/agent.ts +9 -20
- package/src/constants/tools.ts +1 -2
- package/src/managers/aiManager.ts +73 -28
- package/src/managers/hookManager.ts +22 -1
- package/src/managers/messageManager.ts +12 -2
- package/src/managers/permissionManager.ts +1 -7
- package/src/managers/subagentManager.ts +20 -81
- package/src/managers/toolManager.ts +4 -6
- package/src/prompts/autoMemory.ts +33 -0
- package/src/prompts/index.ts +15 -2
- package/src/services/aiService.ts +8 -8
- package/src/services/configurationService.ts +100 -28
- package/src/services/hook.ts +2 -2
- package/src/services/initializationService.ts +24 -12
- package/src/services/memory.ts +144 -82
- package/src/tools/{taskTool.ts → agentTool.ts} +42 -30
- package/src/tools/grepTool.ts +2 -2
- package/src/tools/skillTool.ts +2 -2
- package/src/tools/types.ts +1 -1
- package/src/types/configuration.ts +2 -0
- package/src/types/hooks.ts +25 -9
- package/src/utils/builtinSubagents.ts +0 -3
- package/src/utils/containerSetup.ts +8 -21
- package/src/utils/fileSearch.ts +112 -80
- package/src/utils/gitUtils.ts +66 -1
- package/src/utils/path.ts +0 -62
- package/dist/tools/lsTool.d.ts +0 -6
- package/dist/tools/lsTool.d.ts.map +0 -1
- package/dist/tools/lsTool.js +0 -175
- package/dist/tools/taskTool.d.ts +0 -6
- package/dist/tools/taskTool.d.ts.map +0 -1
- package/src/tools/lsTool.ts +0 -212
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { EXPLORE_SUBAGENT_TYPE } from "../constants/subagents.js";
|
|
2
|
-
import {
|
|
2
|
+
import { AGENT_TOOL_NAME } from "../constants/tools.js";
|
|
3
3
|
import { countToolBlocks, formatToolTokenSummary, } from "../utils/messageOperations.js";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Agent tool plugin for launching specialized agents to handle complex tasks
|
|
6
6
|
*/
|
|
7
|
-
export const
|
|
8
|
-
name:
|
|
7
|
+
export const agentTool = {
|
|
8
|
+
name: AGENT_TOOL_NAME,
|
|
9
9
|
config: {
|
|
10
10
|
type: "function",
|
|
11
11
|
function: {
|
|
12
|
-
name:
|
|
13
|
-
description: "
|
|
12
|
+
name: AGENT_TOOL_NAME,
|
|
13
|
+
description: "Launch a new agent to handle complex, multi-step tasks autonomously.",
|
|
14
14
|
parameters: {
|
|
15
15
|
type: "object",
|
|
16
16
|
properties: {
|
|
@@ -38,18 +38,30 @@ export const taskTool = {
|
|
|
38
38
|
prompt: (args) => {
|
|
39
39
|
const subagentList = args?.availableSubagents
|
|
40
40
|
? args.availableSubagents
|
|
41
|
-
.map((config) =>
|
|
41
|
+
.map((config) => {
|
|
42
|
+
let toolsStr = "";
|
|
43
|
+
if (config.tools && config.tools.length > 0) {
|
|
44
|
+
toolsStr = ` (Tools: ${config.tools.join(", ")})`;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
toolsStr = " (Tools: *)";
|
|
48
|
+
}
|
|
49
|
+
return `- ${config.name}: ${config.description}${toolsStr}`;
|
|
50
|
+
})
|
|
42
51
|
.join("\n")
|
|
43
52
|
: "";
|
|
44
|
-
return `
|
|
45
|
-
|
|
53
|
+
return `Launch a new agent to handle complex, multi-step tasks autonomously.
|
|
54
|
+
|
|
55
|
+
The Agent tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.
|
|
56
|
+
|
|
57
|
+
Available agent types and the tools they have access to:
|
|
58
|
+
${subagentList || "No agents configured"}
|
|
46
59
|
|
|
47
|
-
|
|
48
|
-
${subagentList || "No subagents configured"}
|
|
60
|
+
When using the Agent tool, you must specify a subagent_type parameter to select which agent type to use.
|
|
49
61
|
|
|
50
|
-
- When doing file search, prefer to use the ${
|
|
51
|
-
- You should proactively use the ${
|
|
52
|
-
- 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 ${
|
|
62
|
+
- When doing file search, prefer to use the ${AGENT_TOOL_NAME} tool in order to reduce context usage.
|
|
63
|
+
- You should proactively use the ${AGENT_TOOL_NAME} tool with specialized agents when the task at hand matches the agent's description.
|
|
64
|
+
- 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 ${AGENT_TOOL_NAME} tool with subagent_type=${EXPLORE_SUBAGENT_TYPE} instead of running search commands directly.`;
|
|
53
65
|
},
|
|
54
66
|
execute: async (args, context) => {
|
|
55
67
|
const subagentManager = context.subagentManager;
|
|
@@ -58,7 +70,7 @@ ${subagentList || "No subagents configured"}
|
|
|
58
70
|
success: false,
|
|
59
71
|
content: "",
|
|
60
72
|
error: "Subagent manager not available in tool context",
|
|
61
|
-
shortResult: "
|
|
73
|
+
shortResult: "Agent delegation failed",
|
|
62
74
|
};
|
|
63
75
|
}
|
|
64
76
|
// Input validation
|
|
@@ -71,7 +83,7 @@ ${subagentList || "No subagents configured"}
|
|
|
71
83
|
success: false,
|
|
72
84
|
content: "",
|
|
73
85
|
error: "description parameter is required and must be a string",
|
|
74
|
-
shortResult: "
|
|
86
|
+
shortResult: "Agent delegation failed",
|
|
75
87
|
};
|
|
76
88
|
}
|
|
77
89
|
if (!prompt || typeof prompt !== "string") {
|
|
@@ -79,7 +91,7 @@ ${subagentList || "No subagents configured"}
|
|
|
79
91
|
success: false,
|
|
80
92
|
content: "",
|
|
81
93
|
error: "prompt parameter is required and must be a string",
|
|
82
|
-
shortResult: "
|
|
94
|
+
shortResult: "Agent delegation failed",
|
|
83
95
|
};
|
|
84
96
|
}
|
|
85
97
|
if (!subagent_type || typeof subagent_type !== "string") {
|
|
@@ -87,7 +99,7 @@ ${subagentList || "No subagents configured"}
|
|
|
87
99
|
success: false,
|
|
88
100
|
content: "",
|
|
89
101
|
error: "subagent_type parameter is required and must be a string",
|
|
90
|
-
shortResult: "
|
|
102
|
+
shortResult: "Agent delegation failed",
|
|
91
103
|
};
|
|
92
104
|
}
|
|
93
105
|
try {
|
|
@@ -100,12 +112,12 @@ ${subagentList || "No subagents configured"}
|
|
|
100
112
|
return {
|
|
101
113
|
success: false,
|
|
102
114
|
content: "",
|
|
103
|
-
error: `No
|
|
104
|
-
shortResult: "
|
|
115
|
+
error: `No agent found matching "${subagent_type}". Available agents: ${availableNames || "none"}`,
|
|
116
|
+
shortResult: "Agent not found",
|
|
105
117
|
};
|
|
106
118
|
}
|
|
107
119
|
let isBackgrounded = false;
|
|
108
|
-
// Create subagent instance and execute
|
|
120
|
+
// Create subagent instance and execute agent
|
|
109
121
|
const instance = await subagentManager.createInstance(configuration, {
|
|
110
122
|
description,
|
|
111
123
|
prompt,
|
|
@@ -140,27 +152,27 @@ ${subagentList || "No subagents configured"}
|
|
|
140
152
|
await subagentManager.backgroundInstance(instance.subagentId);
|
|
141
153
|
resolve({
|
|
142
154
|
success: true,
|
|
143
|
-
content: "
|
|
144
|
-
shortResult: "
|
|
155
|
+
content: "Agent backgrounded",
|
|
156
|
+
shortResult: "Agent backgrounded",
|
|
145
157
|
isManuallyBackgrounded: true,
|
|
146
158
|
});
|
|
147
159
|
},
|
|
148
160
|
});
|
|
149
161
|
}
|
|
150
162
|
try {
|
|
151
|
-
const result = await subagentManager.
|
|
163
|
+
const result = await subagentManager.executeAgent(instance, prompt, context.abortSignal, run_in_background);
|
|
152
164
|
if (isBackgrounded) {
|
|
153
165
|
return;
|
|
154
166
|
}
|
|
155
167
|
if (run_in_background) {
|
|
156
168
|
resolve({
|
|
157
169
|
success: true,
|
|
158
|
-
content: `
|
|
159
|
-
shortResult: `
|
|
170
|
+
content: `Agent started in background with ID: ${result}`,
|
|
171
|
+
shortResult: `Agent started in background: ${result}`,
|
|
160
172
|
});
|
|
161
173
|
return;
|
|
162
174
|
}
|
|
163
|
-
// Cleanup subagent instance after
|
|
175
|
+
// Cleanup subagent instance after agent completion
|
|
164
176
|
subagentManager.cleanupInstance(instance.subagentId);
|
|
165
177
|
const messages = instance.messageManager.getMessages();
|
|
166
178
|
const tokens = instance.messageManager.getlatestTotalTokens();
|
|
@@ -169,7 +181,7 @@ ${subagentList || "No subagents configured"}
|
|
|
169
181
|
resolve({
|
|
170
182
|
success: true,
|
|
171
183
|
content: result,
|
|
172
|
-
shortResult: `
|
|
184
|
+
shortResult: `Agent completed${summary ? ` ${summary}` : ""}`,
|
|
173
185
|
});
|
|
174
186
|
}
|
|
175
187
|
catch (error) {
|
|
@@ -177,7 +189,7 @@ ${subagentList || "No subagents configured"}
|
|
|
177
189
|
resolve({
|
|
178
190
|
success: false,
|
|
179
191
|
content: "",
|
|
180
|
-
error: `
|
|
192
|
+
error: `Agent delegation failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
181
193
|
shortResult: "Delegation error",
|
|
182
194
|
});
|
|
183
195
|
}
|
|
@@ -194,7 +206,7 @@ ${subagentList || "No subagents configured"}
|
|
|
194
206
|
return {
|
|
195
207
|
success: false,
|
|
196
208
|
content: "",
|
|
197
|
-
error: `
|
|
209
|
+
error: `Agent delegation failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
198
210
|
shortResult: "Delegation error",
|
|
199
211
|
};
|
|
200
212
|
}
|
package/dist/tools/grepTool.js
CHANGED
|
@@ -2,7 +2,7 @@ import { spawn } from "child_process";
|
|
|
2
2
|
import { getGlobIgnorePatterns } from "../utils/fileFilter.js";
|
|
3
3
|
import { rgPath } from "@vscode/ripgrep";
|
|
4
4
|
import { getDisplayPath } from "../utils/path.js";
|
|
5
|
-
import { GREP_TOOL_NAME, BASH_TOOL_NAME,
|
|
5
|
+
import { GREP_TOOL_NAME, BASH_TOOL_NAME, AGENT_TOOL_NAME, } from "../constants/tools.js";
|
|
6
6
|
/**
|
|
7
7
|
* Grep tool plugin - powerful search tool based on ripgrep
|
|
8
8
|
*/
|
|
@@ -77,7 +77,7 @@ export const grepTool = {
|
|
|
77
77
|
- Supports full regex syntax (e.g., "log.*Error", "function\\s+\\w+")
|
|
78
78
|
- Filter files with glob parameter (e.g., "*.js", "**/*.tsx") or type parameter (e.g., "js", "py", "rust")
|
|
79
79
|
- Output modes: "content" shows matching lines, "files_with_matches" shows only file paths (default), "count" shows match counts
|
|
80
|
-
- Use ${
|
|
80
|
+
- Use ${AGENT_TOOL_NAME} tool for open-ended searches requiring multiple rounds
|
|
81
81
|
- Pattern syntax: Uses ripgrep (not grep) - literal braces need escaping (use \`interface\\{\\}\` to find \`interface{}\` in Go code)
|
|
82
82
|
- Multiline matching: By default patterns match within single lines only. For cross-line patterns like \`struct \\{[\\s\\S]*?field\`, use \`multiline: true\`
|
|
83
83
|
`,
|
package/dist/tools/skillTool.js
CHANGED
|
@@ -119,8 +119,8 @@ export const skillTool = {
|
|
|
119
119
|
context.onShortResultUpdate?.(shortResult);
|
|
120
120
|
});
|
|
121
121
|
try {
|
|
122
|
-
const result = await subagentManager.
|
|
123
|
-
// Cleanup subagent instance after
|
|
122
|
+
const result = await subagentManager.executeAgent(instance, skillResult.content, context.abortSignal, false);
|
|
123
|
+
// Cleanup subagent instance after agent completion
|
|
124
124
|
subagentManager.cleanupInstance(instance.subagentId);
|
|
125
125
|
const messages = instance.messageManager.getMessages();
|
|
126
126
|
const tokens = instance.messageManager.getlatestTotalTokens();
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -54,7 +54,7 @@ export interface ToolContext {
|
|
|
54
54
|
foregroundTaskManager?: import("../types/processes.js").IForegroundTaskManager;
|
|
55
55
|
/** Task manager instance for task management */
|
|
56
56
|
taskManager: import("../services/taskManager.js").TaskManager;
|
|
57
|
-
/** Subagent manager instance for
|
|
57
|
+
/** Subagent manager instance for agent delegation */
|
|
58
58
|
subagentManager?: import("../managers/subagentManager.js").SubagentManager;
|
|
59
59
|
/** Skill manager instance for skill invocation */
|
|
60
60
|
skillManager?: import("../managers/skillManager.js").SkillManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,0BAA0B,CAAC;IACnC,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,WAAW,KACjB,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,WAAW,KACjB,MAAM,CAAC;IACZ;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QACf,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;QAC7C,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,sCAAsC,EAAE,qBAAqB,CAAC;IAC7F,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,OAAO,kCAAkC,EAAE,iBAAiB,CAAC;IACjF,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,2BAA2B,EAAE,UAAU,CAAC;IAC5D,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,iBAAiB,EAAE,WAAW,CAAC;IACnD,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,OAAO,iCAAiC,EAAE,gBAAgB,CAAC;IAC9E,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,qBAAqB,CAAC,EAAE,OAAO,uBAAuB,EAAE,sBAAsB,CAAC;IAC/E,gDAAgD;IAChD,WAAW,EAAE,OAAO,4BAA4B,EAAE,WAAW,CAAC;IAC9D,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,0BAA0B,CAAC;IACnC,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,WAAW,KACjB,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,mBAAmB,CAAC,EAAE,CACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,WAAW,KACjB,MAAM,CAAC;IACZ;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QACf,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;QAC7C,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,sCAAsC,EAAE,qBAAqB,CAAC;IAC7F,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,OAAO,kCAAkC,EAAE,iBAAiB,CAAC;IACjF,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,2BAA2B,EAAE,UAAU,CAAC;IAC5D,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,iBAAiB,EAAE,WAAW,CAAC;IACnD,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,OAAO,iCAAiC,EAAE,gBAAgB,CAAC;IAC9E,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,qBAAqB,CAAC,EAAE,OAAO,uBAAuB,EAAE,sBAAsB,CAAC;IAC/E,gDAAgD;IAChD,WAAW,EAAE,OAAO,4BAA4B,EAAE,WAAW,CAAC;IAC9D,qDAAqD;IACrD,eAAe,CAAC,EAAE,OAAO,gCAAgC,EAAE,eAAe,CAAC;IAC3E,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,6BAA6B,EAAE,YAAY,CAAC;IAClE,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD"}
|
|
@@ -29,6 +29,8 @@ export interface WaveConfiguration {
|
|
|
29
29
|
enabledPlugins?: Record<string, boolean>;
|
|
30
30
|
/** Preferred language for agent communication */
|
|
31
31
|
language?: string;
|
|
32
|
+
/** Whether auto-memory is enabled */
|
|
33
|
+
autoMemoryEnabled?: boolean;
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
36
|
* Legacy alias for backward compatibility - will be deprecated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/types/configuration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,WAAW,CAAC,EAAE,cAAc,CAAC;QAC7B;;;WAGG;QACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;KAClC,CAAC;IACF,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/types/configuration.ts"],"names":[],"mappings":"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"}
|
package/dist/types/hooks.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,MAAM,GACN,cAAc,GACd,cAAc,GACd,gBAAgB,CAAC;AAGrB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/types/hooks.js
CHANGED
|
@@ -36,13 +36,23 @@ export function isValidHookEvent(event) {
|
|
|
36
36
|
].includes(event);
|
|
37
37
|
}
|
|
38
38
|
export function isValidHookCommand(cmd) {
|
|
39
|
-
|
|
40
|
-
cmd
|
|
41
|
-
"type" in cmd
|
|
42
|
-
cmd.type
|
|
43
|
-
"command" in cmd
|
|
44
|
-
typeof cmd.command
|
|
45
|
-
cmd.command.length
|
|
39
|
+
if (typeof cmd !== "object" ||
|
|
40
|
+
cmd === null ||
|
|
41
|
+
!("type" in cmd) ||
|
|
42
|
+
cmd.type !== "command" ||
|
|
43
|
+
!("command" in cmd) ||
|
|
44
|
+
typeof cmd.command !== "string" ||
|
|
45
|
+
cmd.command.length === 0) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const hookCmd = cmd;
|
|
49
|
+
if ("async" in hookCmd && typeof hookCmd.async !== "boolean") {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
if ("timeout" in hookCmd && typeof hookCmd.timeout !== "number") {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
46
56
|
}
|
|
47
57
|
export function isValidHookEventConfig(config) {
|
|
48
58
|
if (typeof config !== "object" || config === null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtinSubagents.d.ts","sourceRoot":"","sources":["../../src/utils/builtinSubagents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builtinSubagents.d.ts","sourceRoot":"","sources":["../../src/utils/builtinSubagents.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,qBAAqB,EAAE,CAQ7D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BASH_SUBAGENT_TYPE, EXPLORE_SUBAGENT_TYPE, PLAN_SUBAGENT_TYPE, GENERAL_PURPOSE_SUBAGENT_TYPE, } from "../constants/subagents.js";
|
|
2
2
|
import { BASH_SUBAGENT_SYSTEM_PROMPT, GENERAL_PURPOSE_SYSTEM_PROMPT, PLAN_SUBAGENT_SYSTEM_PROMPT, EXPLORE_SUBAGENT_SYSTEM_PROMPT, } from "../prompts/index.js";
|
|
3
|
-
import { BASH_TOOL_NAME, GLOB_TOOL_NAME, GREP_TOOL_NAME, READ_TOOL_NAME,
|
|
3
|
+
import { BASH_TOOL_NAME, GLOB_TOOL_NAME, GREP_TOOL_NAME, READ_TOOL_NAME, LSP_TOOL_NAME, } from "../constants/tools.js";
|
|
4
4
|
/**
|
|
5
5
|
* Get all built-in subagent configurations
|
|
6
6
|
* Built-in subagents have priority 3 (lowest) and can be overridden by user/project configs
|
|
@@ -55,7 +55,6 @@ function createExploreSubagent() {
|
|
|
55
55
|
GREP_TOOL_NAME,
|
|
56
56
|
READ_TOOL_NAME,
|
|
57
57
|
BASH_TOOL_NAME,
|
|
58
|
-
LS_TOOL_NAME,
|
|
59
58
|
LSP_TOOL_NAME,
|
|
60
59
|
];
|
|
61
60
|
return {
|
|
@@ -80,7 +79,6 @@ function createPlanSubagent() {
|
|
|
80
79
|
GREP_TOOL_NAME,
|
|
81
80
|
READ_TOOL_NAME,
|
|
82
81
|
BASH_TOOL_NAME,
|
|
83
|
-
LS_TOOL_NAME,
|
|
84
82
|
LSP_TOOL_NAME,
|
|
85
83
|
];
|
|
86
84
|
return {
|
|
@@ -2,7 +2,6 @@ import { Container } from "./container.js";
|
|
|
2
2
|
import { ConfigurationService } from "../services/configurationService.js";
|
|
3
3
|
import type { AgentOptions } from "../types/index.js";
|
|
4
4
|
import type { PermissionMode, Usage, Task, BackgroundTask } from "../types/index.js";
|
|
5
|
-
import type { GatewayConfig, ModelConfig } from "../types/config.js";
|
|
6
5
|
export interface AgentContainerSetupOptions {
|
|
7
6
|
options: AgentOptions;
|
|
8
7
|
workdir: string;
|
|
@@ -16,10 +15,6 @@ export interface AgentContainerSetupOptions {
|
|
|
16
15
|
setPermissionMode: (mode: PermissionMode) => void;
|
|
17
16
|
addPermissionRule: (rule: string) => Promise<void>;
|
|
18
17
|
addUsage: (usage: Usage) => void;
|
|
19
|
-
getGatewayConfig: () => GatewayConfig;
|
|
20
|
-
getModelConfig: () => ModelConfig;
|
|
21
|
-
getMaxInputTokens: () => number;
|
|
22
|
-
getLanguage: () => string | undefined;
|
|
23
18
|
}
|
|
24
19
|
export declare function setupAgentContainer(setupOptions: AgentContainerSetupOptions): Container;
|
|
25
20
|
//# sourceMappingURL=containerSetup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerSetup.d.ts","sourceRoot":"","sources":["../../src/utils/containerSetup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoB3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"containerSetup.d.ts","sourceRoot":"","sources":["../../src/utils/containerSetup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAoB3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EACL,IAAI,EACJ,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAI3B,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAGhB,uBAAuB,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACvC,sBAAsB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACvD,wBAAwB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,iBAAiB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,0BAA0B,GACvC,SAAS,CAyNX"}
|
|
@@ -20,14 +20,17 @@ import { ReversionManager } from "../managers/reversionManager.js";
|
|
|
20
20
|
import { SubagentManager } from "../managers/subagentManager.js";
|
|
21
21
|
import { LiveConfigManager } from "../managers/liveConfigManager.js";
|
|
22
22
|
import { ReversionService } from "../services/reversionService.js";
|
|
23
|
+
import { MemoryService } from "../services/memory.js";
|
|
23
24
|
import { logger } from "./globalLogger.js";
|
|
24
25
|
export function setupAgentContainer(setupOptions) {
|
|
25
|
-
const { options, workdir, configurationService, systemPrompt, stream, onBackgroundTasksChange, onTasksChange, onPermissionModeChange, handlePlanModeTransition, setPermissionMode, addPermissionRule, addUsage,
|
|
26
|
+
const { options, workdir, configurationService, systemPrompt, stream, onBackgroundTasksChange, onTasksChange, onPermissionModeChange, handlePlanModeTransition, setPermissionMode, addPermissionRule, addUsage, } = setupOptions;
|
|
26
27
|
const callbacks = options.callbacks || {};
|
|
27
28
|
const container = new Container();
|
|
28
29
|
const foregroundTaskManager = new ForegroundTaskManager(container);
|
|
29
30
|
container.register("ForegroundTaskManager", foregroundTaskManager);
|
|
30
31
|
container.register("ConfigurationService", configurationService);
|
|
32
|
+
const memoryService = new MemoryService(container);
|
|
33
|
+
container.register("MemoryService", memoryService);
|
|
31
34
|
const memoryRuleManager = new MemoryRuleManager(container, { workdir });
|
|
32
35
|
container.register("MemoryRuleManager", memoryRuleManager);
|
|
33
36
|
const messageManager = new MessageManager(container, {
|
|
@@ -74,6 +77,10 @@ export function setupAgentContainer(setupOptions) {
|
|
|
74
77
|
const lspManager = options.lspManager || new LspManager(container);
|
|
75
78
|
container.register("LspManager", lspManager);
|
|
76
79
|
const permissionManager = new PermissionManager(container, { workdir });
|
|
80
|
+
if (configurationService.resolveAutoMemoryEnabled()) {
|
|
81
|
+
const autoMemoryDir = memoryService.getAutoMemoryDirectory(workdir);
|
|
82
|
+
permissionManager.updateAdditionalDirectories([autoMemoryDir]);
|
|
83
|
+
}
|
|
77
84
|
container.register("PermissionManager", permissionManager);
|
|
78
85
|
permissionManager.setOnConfiguredDefaultModeChange((mode) => {
|
|
79
86
|
handlePlanModeTransition(mode);
|
|
@@ -161,11 +168,6 @@ export function setupAgentContainer(setupOptions) {
|
|
|
161
168
|
onSubagentMessagesChange: callbacks.onSubagentMessagesChange,
|
|
162
169
|
onSubagentLatestTotalTokensChange: callbacks.onSubagentLatestTotalTokensChange,
|
|
163
170
|
},
|
|
164
|
-
getGatewayConfig,
|
|
165
|
-
getModelConfig,
|
|
166
|
-
getMaxInputTokens,
|
|
167
|
-
getLanguage,
|
|
168
|
-
getEnvironmentVars: () => configurationService.getEnvironmentVars(),
|
|
169
171
|
onUsageAdded: (usage) => addUsage(usage),
|
|
170
172
|
});
|
|
171
173
|
container.register("SubagentManager", subagentManager);
|
|
@@ -177,11 +179,6 @@ export function setupAgentContainer(setupOptions) {
|
|
|
177
179
|
workdir,
|
|
178
180
|
systemPrompt,
|
|
179
181
|
stream,
|
|
180
|
-
getGatewayConfig,
|
|
181
|
-
getModelConfig,
|
|
182
|
-
getMaxInputTokens,
|
|
183
|
-
getLanguage,
|
|
184
|
-
getEnvironmentVars: () => configurationService.getEnvironmentVars(),
|
|
185
182
|
});
|
|
186
183
|
container.register("AIManager", aiManager);
|
|
187
184
|
const slashCommandManager = new SlashCommandManager(container, { workdir });
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import { type Path } from "glob";
|
|
2
1
|
import type { FileItem } from "../types/fileSearch.js";
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
export declare const convertPathsToFileItems: (paths: Path[]) => FileItem[];
|
|
7
|
-
/**
|
|
8
|
-
* Search files and directories using glob patterns
|
|
3
|
+
* Search files and directories using fuzzy matching
|
|
9
4
|
*/
|
|
10
5
|
export declare const searchFiles: (query: string, options?: {
|
|
11
6
|
maxResults?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSearch.d.ts","sourceRoot":"","sources":["../../src/utils/fileSearch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fileSearch.d.ts","sourceRoot":"","sources":["../../src/utils/fileSearch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAqEvD;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,MAAM,EACb,UAAU;IACR,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,KACA,OAAO,CAAC,QAAQ,EAAE,CA+DpB,CAAC"}
|