wave-agent-sdk 0.0.8 → 0.0.11
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 +92 -23
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +351 -137
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/managers/aiManager.d.ts +14 -36
- package/dist/managers/aiManager.d.ts.map +1 -1
- package/dist/managers/aiManager.js +74 -77
- package/dist/managers/backgroundBashManager.d.ts.map +1 -1
- package/dist/managers/backgroundBashManager.js +4 -3
- package/dist/managers/hookManager.d.ts +3 -8
- package/dist/managers/hookManager.d.ts.map +1 -1
- package/dist/managers/hookManager.js +39 -29
- package/dist/managers/liveConfigManager.d.ts +55 -18
- package/dist/managers/liveConfigManager.d.ts.map +1 -1
- package/dist/managers/liveConfigManager.js +372 -90
- package/dist/managers/lspManager.d.ts +43 -0
- package/dist/managers/lspManager.d.ts.map +1 -0
- package/dist/managers/lspManager.js +326 -0
- package/dist/managers/messageManager.d.ts +8 -16
- package/dist/managers/messageManager.d.ts.map +1 -1
- package/dist/managers/messageManager.js +52 -74
- package/dist/managers/permissionManager.d.ts +75 -0
- package/dist/managers/permissionManager.d.ts.map +1 -0
- package/dist/managers/permissionManager.js +368 -0
- package/dist/managers/skillManager.d.ts +1 -0
- package/dist/managers/skillManager.d.ts.map +1 -1
- package/dist/managers/skillManager.js +2 -1
- package/dist/managers/slashCommandManager.d.ts.map +1 -1
- package/dist/managers/slashCommandManager.js +0 -1
- package/dist/managers/subagentManager.d.ts +8 -23
- package/dist/managers/subagentManager.d.ts.map +1 -1
- package/dist/managers/subagentManager.js +97 -117
- package/dist/managers/toolManager.d.ts +38 -1
- package/dist/managers/toolManager.d.ts.map +1 -1
- package/dist/managers/toolManager.js +66 -2
- package/dist/services/aiService.d.ts +3 -1
- package/dist/services/aiService.d.ts.map +1 -1
- package/dist/services/aiService.js +123 -30
- package/dist/services/configurationService.d.ts +116 -0
- package/dist/services/configurationService.d.ts.map +1 -0
- package/dist/services/configurationService.js +585 -0
- package/dist/services/fileWatcher.d.ts.map +1 -1
- package/dist/services/fileWatcher.js +5 -6
- package/dist/services/hook.d.ts +7 -124
- package/dist/services/hook.d.ts.map +1 -1
- package/dist/services/hook.js +46 -458
- package/dist/services/jsonlHandler.d.ts +24 -15
- package/dist/services/jsonlHandler.d.ts.map +1 -1
- package/dist/services/jsonlHandler.js +67 -88
- package/dist/services/memory.d.ts +0 -9
- package/dist/services/memory.d.ts.map +1 -1
- package/dist/services/memory.js +2 -49
- package/dist/services/session.d.ts +82 -33
- package/dist/services/session.d.ts.map +1 -1
- package/dist/services/session.js +275 -181
- package/dist/tools/bashTool.d.ts.map +1 -1
- package/dist/tools/bashTool.js +109 -11
- package/dist/tools/deleteFileTool.d.ts.map +1 -1
- package/dist/tools/deleteFileTool.js +25 -0
- package/dist/tools/editTool.d.ts.map +1 -1
- package/dist/tools/editTool.js +30 -6
- package/dist/tools/lspTool.d.ts +6 -0
- package/dist/tools/lspTool.d.ts.map +1 -0
- package/dist/tools/lspTool.js +589 -0
- package/dist/tools/multiEditTool.d.ts.map +1 -1
- package/dist/tools/multiEditTool.js +26 -7
- package/dist/tools/readTool.d.ts.map +1 -1
- package/dist/tools/readTool.js +111 -2
- package/dist/tools/skillTool.js +2 -2
- package/dist/tools/todoWriteTool.d.ts.map +1 -1
- package/dist/tools/todoWriteTool.js +23 -0
- package/dist/tools/types.d.ts +11 -8
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/writeTool.d.ts.map +1 -1
- package/dist/tools/writeTool.js +25 -9
- package/dist/types/commands.d.ts +0 -1
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/config.d.ts +4 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/configuration.d.ts +69 -0
- package/dist/types/configuration.d.ts.map +1 -0
- package/dist/types/configuration.js +8 -0
- package/dist/types/core.d.ts +10 -0
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/environment.d.ts +41 -0
- package/dist/types/environment.d.ts.map +1 -1
- package/dist/types/fileSearch.d.ts +5 -0
- package/dist/types/fileSearch.d.ts.map +1 -0
- package/dist/types/fileSearch.js +1 -0
- package/dist/types/hooks.d.ts +11 -2
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/hooks.js +1 -7
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +5 -0
- package/dist/types/lsp.d.ts +90 -0
- package/dist/types/lsp.d.ts.map +1 -0
- package/dist/types/lsp.js +4 -0
- package/dist/types/messaging.d.ts +6 -11
- package/dist/types/messaging.d.ts.map +1 -1
- package/dist/types/permissions.d.ts +39 -0
- package/dist/types/permissions.d.ts.map +1 -0
- package/dist/types/permissions.js +12 -0
- package/dist/types/session.d.ts +1 -6
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/skills.d.ts +1 -0
- package/dist/types/skills.d.ts.map +1 -1
- package/dist/types/tools.d.ts +35 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +4 -0
- package/dist/utils/abortUtils.d.ts +34 -0
- package/dist/utils/abortUtils.d.ts.map +1 -0
- package/dist/utils/abortUtils.js +92 -0
- package/dist/utils/bashHistory.d.ts +4 -0
- package/dist/utils/bashHistory.d.ts.map +1 -1
- package/dist/utils/bashHistory.js +21 -4
- package/dist/utils/bashParser.d.ts +24 -0
- package/dist/utils/bashParser.d.ts.map +1 -0
- package/dist/utils/bashParser.js +413 -0
- package/dist/utils/builtinSubagents.d.ts +7 -0
- package/dist/utils/builtinSubagents.d.ts.map +1 -0
- package/dist/utils/builtinSubagents.js +65 -0
- package/dist/utils/cacheControlUtils.d.ts +8 -33
- package/dist/utils/cacheControlUtils.d.ts.map +1 -1
- package/dist/utils/cacheControlUtils.js +83 -126
- package/dist/utils/constants.d.ts +0 -12
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +1 -13
- package/dist/utils/convertMessagesForAPI.d.ts +2 -1
- package/dist/utils/convertMessagesForAPI.d.ts.map +1 -1
- package/dist/utils/convertMessagesForAPI.js +33 -14
- package/dist/utils/fileSearch.d.ts +14 -0
- package/dist/utils/fileSearch.d.ts.map +1 -0
- package/dist/utils/fileSearch.js +88 -0
- package/dist/utils/fileUtils.d.ts +14 -2
- package/dist/utils/fileUtils.d.ts.map +1 -1
- package/dist/utils/fileUtils.js +101 -17
- package/dist/utils/globalLogger.d.ts +0 -14
- package/dist/utils/globalLogger.d.ts.map +1 -1
- package/dist/utils/globalLogger.js +0 -16
- package/dist/utils/markdownParser.d.ts.map +1 -1
- package/dist/utils/markdownParser.js +1 -17
- package/dist/utils/messageOperations.d.ts +1 -11
- package/dist/utils/messageOperations.d.ts.map +1 -1
- package/dist/utils/messageOperations.js +7 -24
- package/dist/utils/pathEncoder.d.ts +4 -0
- package/dist/utils/pathEncoder.d.ts.map +1 -1
- package/dist/utils/pathEncoder.js +16 -9
- package/dist/utils/pathSafety.d.ts +10 -0
- package/dist/utils/pathSafety.d.ts.map +1 -0
- package/dist/utils/pathSafety.js +23 -0
- package/dist/utils/subagentParser.d.ts +2 -2
- package/dist/utils/subagentParser.d.ts.map +1 -1
- package/dist/utils/subagentParser.js +10 -7
- package/package.json +9 -9
- package/src/agent.ts +475 -216
- package/src/index.ts +3 -0
- package/src/managers/aiManager.ts +107 -111
- package/src/managers/backgroundBashManager.ts +4 -3
- package/src/managers/hookManager.ts +44 -39
- package/src/managers/liveConfigManager.ts +524 -138
- package/src/managers/lspManager.ts +434 -0
- package/src/managers/messageManager.ts +73 -103
- package/src/managers/permissionManager.ts +480 -0
- package/src/managers/skillManager.ts +3 -1
- package/src/managers/slashCommandManager.ts +1 -2
- package/src/managers/subagentManager.ts +116 -159
- package/src/managers/toolManager.ts +95 -3
- package/src/services/aiService.ts +207 -26
- package/src/services/configurationService.ts +762 -0
- package/src/services/fileWatcher.ts +5 -6
- package/src/services/hook.ts +50 -631
- package/src/services/jsonlHandler.ts +84 -100
- package/src/services/memory.ts +2 -59
- package/src/services/session.ts +338 -213
- package/src/tools/bashTool.ts +126 -13
- package/src/tools/deleteFileTool.ts +36 -0
- package/src/tools/editTool.ts +41 -7
- package/src/tools/lspTool.ts +760 -0
- package/src/tools/multiEditTool.ts +37 -8
- package/src/tools/readTool.ts +125 -2
- package/src/tools/skillTool.ts +2 -2
- package/src/tools/todoWriteTool.ts +33 -1
- package/src/tools/types.ts +15 -9
- package/src/tools/writeTool.ts +36 -10
- package/src/types/commands.ts +0 -1
- package/src/types/config.ts +5 -0
- package/src/types/configuration.ts +73 -0
- package/src/types/core.ts +11 -0
- package/src/types/environment.ts +44 -0
- package/src/types/fileSearch.ts +4 -0
- package/src/types/hooks.ts +14 -11
- package/src/types/index.ts +5 -0
- package/src/types/lsp.ts +96 -0
- package/src/types/messaging.ts +8 -13
- package/src/types/permissions.ts +52 -0
- package/src/types/session.ts +3 -8
- package/src/types/skills.ts +1 -0
- package/src/types/tools.ts +38 -0
- package/src/utils/abortUtils.ts +118 -0
- package/src/utils/bashHistory.ts +28 -4
- package/src/utils/bashParser.ts +444 -0
- package/src/utils/builtinSubagents.ts +71 -0
- package/src/utils/cacheControlUtils.ts +106 -171
- package/src/utils/constants.ts +1 -16
- package/src/utils/convertMessagesForAPI.ts +38 -14
- package/src/utils/fileSearch.ts +107 -0
- package/src/utils/fileUtils.ts +114 -19
- package/src/utils/globalLogger.ts +0 -17
- package/src/utils/markdownParser.ts +1 -19
- package/src/utils/messageOperations.ts +7 -35
- package/src/utils/pathEncoder.ts +24 -9
- package/src/utils/pathSafety.ts +26 -0
- package/src/utils/subagentParser.ts +11 -8
- package/dist/constants/events.d.ts +0 -28
- package/dist/constants/events.d.ts.map +0 -1
- package/dist/constants/events.js +0 -27
- package/dist/services/configurationWatcher.d.ts +0 -120
- package/dist/services/configurationWatcher.d.ts.map +0 -1
- package/dist/services/configurationWatcher.js +0 -439
- package/dist/services/memoryStore.d.ts +0 -81
- package/dist/services/memoryStore.d.ts.map +0 -1
- package/dist/services/memoryStore.js +0 -200
- package/dist/types/memoryStore.d.ts +0 -82
- package/dist/types/memoryStore.d.ts.map +0 -1
- package/dist/types/memoryStore.js +0 -7
- package/dist/utils/configResolver.d.ts +0 -65
- package/dist/utils/configResolver.d.ts.map +0 -1
- package/dist/utils/configResolver.js +0 -210
- package/src/constants/events.ts +0 -38
- package/src/services/configurationWatcher.ts +0 -622
- package/src/services/memoryStore.ts +0 -279
- package/src/types/memoryStore.ts +0 -94
- package/src/utils/configResolver.ts +0 -302
package/dist/tools/readTool.js
CHANGED
|
@@ -1,7 +1,112 @@
|
|
|
1
|
-
import { readFile } from "fs/promises";
|
|
1
|
+
import { readFile, stat } from "fs/promises";
|
|
2
|
+
import { extname } from "path";
|
|
2
3
|
import { logger } from "../utils/globalLogger.js";
|
|
3
4
|
import { resolvePath, getDisplayPath } from "../utils/path.js";
|
|
4
5
|
import { isBinaryDocument, getBinaryDocumentError, } from "../utils/fileFormat.js";
|
|
6
|
+
import { convertImageToBase64 } from "../utils/messageOperations.js";
|
|
7
|
+
/**
|
|
8
|
+
* Supported image file extensions
|
|
9
|
+
*/
|
|
10
|
+
const SUPPORTED_IMAGE_EXTENSIONS = [
|
|
11
|
+
"png",
|
|
12
|
+
"jpeg",
|
|
13
|
+
"jpg",
|
|
14
|
+
"gif",
|
|
15
|
+
"webp",
|
|
16
|
+
];
|
|
17
|
+
/**
|
|
18
|
+
* Check if a file path represents an image file
|
|
19
|
+
* @param filePath - Path to the file
|
|
20
|
+
* @returns true if the file is a supported image format
|
|
21
|
+
*/
|
|
22
|
+
function isImageFile(filePath) {
|
|
23
|
+
const ext = extname(filePath).toLowerCase().substring(1);
|
|
24
|
+
return SUPPORTED_IMAGE_EXTENSIONS.includes(ext);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Validate image file size
|
|
28
|
+
* @param filePath - Path to the image file
|
|
29
|
+
* @param maxSizeBytes - Maximum allowed file size in bytes (default: 20MB)
|
|
30
|
+
* @returns Promise<boolean> - true if file size is within limit
|
|
31
|
+
*/
|
|
32
|
+
async function validateImageFileSize(filePath, maxSizeBytes = 20 * 1024 * 1024) {
|
|
33
|
+
try {
|
|
34
|
+
const stats = await stat(filePath);
|
|
35
|
+
return stats.size <= maxSizeBytes;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get MIME type for image file based on extension
|
|
43
|
+
* @param filePath - Path to the image file
|
|
44
|
+
* @returns MIME type string
|
|
45
|
+
*/
|
|
46
|
+
function getImageMimeType(filePath) {
|
|
47
|
+
const ext = extname(filePath).toLowerCase().substring(1);
|
|
48
|
+
switch (ext) {
|
|
49
|
+
case "png":
|
|
50
|
+
return "image/png";
|
|
51
|
+
case "jpg":
|
|
52
|
+
case "jpeg":
|
|
53
|
+
return "image/jpeg";
|
|
54
|
+
case "gif":
|
|
55
|
+
return "image/gif";
|
|
56
|
+
case "webp":
|
|
57
|
+
return "image/webp";
|
|
58
|
+
default:
|
|
59
|
+
return "image/png"; // Default fallback
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Process an image file and return ToolResult with image data
|
|
64
|
+
* @param filePath - Path to the image file
|
|
65
|
+
* @param context - Tool execution context
|
|
66
|
+
* @returns Promise<ToolResult> with image data
|
|
67
|
+
*/
|
|
68
|
+
async function processImageFile(filePath, context) {
|
|
69
|
+
try {
|
|
70
|
+
// Resolve path
|
|
71
|
+
const actualFilePath = filePath.startsWith("/")
|
|
72
|
+
? filePath
|
|
73
|
+
: resolvePath(filePath, context.workdir);
|
|
74
|
+
// Validate file size
|
|
75
|
+
const isValidSize = await validateImageFileSize(actualFilePath);
|
|
76
|
+
if (!isValidSize) {
|
|
77
|
+
const stats = await stat(actualFilePath);
|
|
78
|
+
const sizeMB = (stats.size / (1024 * 1024)).toFixed(2);
|
|
79
|
+
return {
|
|
80
|
+
success: false,
|
|
81
|
+
content: "",
|
|
82
|
+
error: `Image file exceeds 20MB limit (actual: ${sizeMB}MB)`,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
// Convert image to base64
|
|
86
|
+
const imageDataUrl = convertImageToBase64(actualFilePath);
|
|
87
|
+
const mimeType = getImageMimeType(actualFilePath);
|
|
88
|
+
// Extract base64 data from data URL (remove data:image/type;base64, prefix)
|
|
89
|
+
const base64Data = imageDataUrl.split(",")[1] || "";
|
|
90
|
+
return {
|
|
91
|
+
success: true,
|
|
92
|
+
content: `Image file processed: ${getDisplayPath(filePath, context.workdir)}\nFormat: ${mimeType}\nSize: Available for AI processing`,
|
|
93
|
+
shortResult: `Image processed (${mimeType})`,
|
|
94
|
+
images: [
|
|
95
|
+
{
|
|
96
|
+
data: base64Data,
|
|
97
|
+
mediaType: mimeType,
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
return {
|
|
104
|
+
success: false,
|
|
105
|
+
content: "",
|
|
106
|
+
error: `Failed to process image: ${error instanceof Error ? error.message : String(error)}`,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
5
110
|
/**
|
|
6
111
|
* Read Tool Plugin - Read file content
|
|
7
112
|
*/
|
|
@@ -11,7 +116,7 @@ export const readTool = {
|
|
|
11
116
|
type: "function",
|
|
12
117
|
function: {
|
|
13
118
|
name: "Read",
|
|
14
|
-
description: "Reads a file from the local filesystem. You can access any file directly by using this tool.\nAssume this tool is able to read all files on the machine. If the User provides a path to a file assume that path is valid. It is okay to read a file that does not exist; an error will be returned.\n\nUsage:\n- The file_path parameter must be an absolute path, not a relative path\n- By default, it reads up to 2000 lines starting from the beginning of the file\n- You can optionally specify a line offset and limit (especially handy for long files), but it's recommended to read the whole file by not providing these parameters\n- Any lines longer than 2000 characters will be truncated\n- Results are returned using cat -n format, with line numbers starting at 1\n- This tool allows
|
|
119
|
+
description: "Reads a file from the local filesystem. You can access any file directly by using this tool.\nAssume this tool is able to read all files on the machine. If the User provides a path to a file assume that path is valid. It is okay to read a file that does not exist; an error will be returned.\n\nUsage:\n- The file_path parameter must be an absolute path, not a relative path\n- By default, it reads up to 2000 lines starting from the beginning of the file\n- You can optionally specify a line offset and limit (especially handy for long files), but it's recommended to read the whole file by not providing these parameters\n- Any lines longer than 2000 characters will be truncated\n- Results are returned using cat -n format, with line numbers starting at 1\n- This tool allows Agent to read images (eg PNG, JPG, etc). When reading an image file the contents are presented visually as Agent is a multimodal LLM.\n- This tool can read Jupyter notebooks (.ipynb files) and returns all cells with their outputs, combining code, text, and visualizations.\n- You have the capability to call multiple tools in a single response. It is always better to speculatively read multiple files as a batch that are potentially useful.\n- You will regularly be asked to read screenshots. If the user provides a path to a screenshot ALWAYS use this tool to view the file at the path. This tool will work with all temporary file paths like /var/folders/123/abc/T/TemporaryItems/NSIRD_screencaptureui_ZfB1tD/Screenshot.png\n- If you read a file that exists but has empty contents you will receive a system reminder warning in place of file contents.\n- Binary document formats (PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX) are not supported and will return an error.",
|
|
15
120
|
parameters: {
|
|
16
121
|
type: "object",
|
|
17
122
|
properties: {
|
|
@@ -51,6 +156,10 @@ export const readTool = {
|
|
|
51
156
|
error: getBinaryDocumentError(filePath),
|
|
52
157
|
};
|
|
53
158
|
}
|
|
159
|
+
// Check if this is an image file
|
|
160
|
+
if (isImageFile(filePath)) {
|
|
161
|
+
return processImageFile(filePath, context);
|
|
162
|
+
}
|
|
54
163
|
try {
|
|
55
164
|
// Note: New Read tool requires absolute paths, so we don't use resolvePath
|
|
56
165
|
// But for compatibility, if it's not an absolute path, we still try to resolve
|
package/dist/tools/skillTool.js
CHANGED
|
@@ -14,11 +14,11 @@ export function createSkillTool(skillManager) {
|
|
|
14
14
|
return `Invoke a Wave skill by name. Skills are user-defined automation templates that can be personal or project-specific.\n\nAvailable skills:\n${skillList}`;
|
|
15
15
|
};
|
|
16
16
|
return {
|
|
17
|
-
name: "
|
|
17
|
+
name: "Skill",
|
|
18
18
|
config: {
|
|
19
19
|
type: "function",
|
|
20
20
|
function: {
|
|
21
|
-
name: "
|
|
21
|
+
name: "Skill",
|
|
22
22
|
description: getToolDescription(),
|
|
23
23
|
parameters: {
|
|
24
24
|
type: "object",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todoWriteTool.d.ts","sourceRoot":"","sources":["../../src/tools/todoWriteTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"todoWriteTool.d.ts","sourceRoot":"","sources":["../../src/tools/todoWriteTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,YAAY,CAAC;AAQtE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAoP3B,CAAC"}
|
|
@@ -92,6 +92,29 @@ When in doubt, use this tool. Being proactive with task management demonstrates
|
|
|
92
92
|
},
|
|
93
93
|
},
|
|
94
94
|
},
|
|
95
|
+
formatCompactParams: (params, context) => {
|
|
96
|
+
void context; // Context not needed for this tool
|
|
97
|
+
try {
|
|
98
|
+
const { todos } = params;
|
|
99
|
+
// Handle invalid or missing tasks array
|
|
100
|
+
if (!todos || !Array.isArray(todos)) {
|
|
101
|
+
return "invalid todos";
|
|
102
|
+
}
|
|
103
|
+
// Handle empty task list
|
|
104
|
+
if (todos.length === 0) {
|
|
105
|
+
return "0 tasks";
|
|
106
|
+
}
|
|
107
|
+
// Count completed tasks
|
|
108
|
+
const completedCount = todos.filter((todo) => todo && todo.status === "completed").length;
|
|
109
|
+
const totalCount = todos.length;
|
|
110
|
+
// Format with proper singular/plural
|
|
111
|
+
const taskWord = totalCount === 1 ? "task" : "tasks";
|
|
112
|
+
return `${completedCount}/${totalCount} ${taskWord}`;
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
return "invalid todos";
|
|
116
|
+
}
|
|
117
|
+
},
|
|
95
118
|
execute: async (args) => {
|
|
96
119
|
try {
|
|
97
120
|
// Validate arguments
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Tool plugin interface definitions
|
|
3
3
|
*/
|
|
4
4
|
import { ChatCompletionFunctionTool } from "openai/resources.js";
|
|
5
|
+
import type { PermissionMode, PermissionCallback } from "../types/permissions.js";
|
|
5
6
|
export interface ToolPlugin {
|
|
6
7
|
name: string;
|
|
7
8
|
config: ChatCompletionFunctionTool;
|
|
@@ -13,14 +14,6 @@ export interface ToolResult {
|
|
|
13
14
|
content: string;
|
|
14
15
|
error?: string;
|
|
15
16
|
shortResult?: string;
|
|
16
|
-
originalContent?: string;
|
|
17
|
-
newContent?: string;
|
|
18
|
-
diffResult?: Array<{
|
|
19
|
-
count?: number;
|
|
20
|
-
value: string;
|
|
21
|
-
added?: boolean;
|
|
22
|
-
removed?: boolean;
|
|
23
|
-
}>;
|
|
24
17
|
filePath?: string;
|
|
25
18
|
images?: Array<{
|
|
26
19
|
data: string;
|
|
@@ -31,5 +24,15 @@ export interface ToolContext {
|
|
|
31
24
|
abortSignal?: AbortSignal;
|
|
32
25
|
backgroundBashManager?: import("../managers/backgroundBashManager.js").BackgroundBashManager;
|
|
33
26
|
workdir: string;
|
|
27
|
+
/** Permission mode for this tool execution */
|
|
28
|
+
permissionMode?: PermissionMode;
|
|
29
|
+
/** Custom permission callback */
|
|
30
|
+
canUseToolCallback?: PermissionCallback;
|
|
31
|
+
/** Permission manager instance for permission checks */
|
|
32
|
+
permissionManager?: import("../managers/permissionManager.js").PermissionManager;
|
|
33
|
+
/** MCP manager instance for calling MCP tools */
|
|
34
|
+
mcpManager?: import("../managers/mcpManager.js").McpManager;
|
|
35
|
+
/** LSP manager instance for code intelligence */
|
|
36
|
+
lspManager?: import("../types/lsp.js").ILspManager;
|
|
34
37
|
}
|
|
35
38
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -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;
|
|
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,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;CACb;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,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;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;CACpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeTool.d.ts","sourceRoot":"","sources":["../../src/tools/writeTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"writeTool.d.ts","sourceRoot":"","sources":["../../src/tools/writeTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,YAAY,CAAC;AAGtE;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,UAoLvB,CAAC"}
|
package/dist/tools/writeTool.js
CHANGED
|
@@ -2,7 +2,6 @@ import { readFile, writeFile, mkdir } from "fs/promises";
|
|
|
2
2
|
import { dirname } from "path";
|
|
3
3
|
import { logger } from "../utils/globalLogger.js";
|
|
4
4
|
import { resolvePath, getDisplayPath } from "../utils/path.js";
|
|
5
|
-
import { diffLines } from "diff";
|
|
6
5
|
/**
|
|
7
6
|
* File Write Tool Plugin
|
|
8
7
|
*/
|
|
@@ -68,9 +67,6 @@ export const writeTool = {
|
|
|
68
67
|
content: `File ${filePath} already has the same content, no changes needed`,
|
|
69
68
|
shortResult: "No changes needed",
|
|
70
69
|
filePath: resolvedPath,
|
|
71
|
-
originalContent,
|
|
72
|
-
newContent: content,
|
|
73
|
-
diffResult: [],
|
|
74
70
|
};
|
|
75
71
|
}
|
|
76
72
|
// Ensure directory exists
|
|
@@ -85,6 +81,31 @@ export const writeTool = {
|
|
|
85
81
|
logger.warn(`Failed to create directory ${fileDir}: ${mkdirError.message}`);
|
|
86
82
|
}
|
|
87
83
|
}
|
|
84
|
+
// Permission check after validation but before real operation
|
|
85
|
+
if (context.permissionManager &&
|
|
86
|
+
context.permissionMode &&
|
|
87
|
+
context.permissionMode !== "bypassPermissions") {
|
|
88
|
+
if (context.permissionManager.isRestrictedTool("Write")) {
|
|
89
|
+
try {
|
|
90
|
+
const permissionContext = context.permissionManager.createContext("Write", context.permissionMode, context.canUseToolCallback, { file_path: filePath, content });
|
|
91
|
+
const permissionResult = await context.permissionManager.checkPermission(permissionContext);
|
|
92
|
+
if (permissionResult.behavior === "deny") {
|
|
93
|
+
return {
|
|
94
|
+
success: false,
|
|
95
|
+
content: "",
|
|
96
|
+
error: `Write operation denied by user, reason: ${permissionResult.message || "No reason provided"}`,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return {
|
|
102
|
+
success: false,
|
|
103
|
+
content: "",
|
|
104
|
+
error: "Permission check failed",
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
88
109
|
// Write file
|
|
89
110
|
try {
|
|
90
111
|
await writeFile(resolvedPath, content, "utf-8");
|
|
@@ -96,8 +117,6 @@ export const writeTool = {
|
|
|
96
117
|
error: `Failed to write file: ${writeError instanceof Error ? writeError.message : String(writeError)}`,
|
|
97
118
|
};
|
|
98
119
|
}
|
|
99
|
-
// Generate diff information
|
|
100
|
-
const diffResult = diffLines(originalContent, content);
|
|
101
120
|
const shortResult = isExistingFile ? "File overwritten" : "File created";
|
|
102
121
|
const lines = content.split("\n").length;
|
|
103
122
|
const chars = content.length;
|
|
@@ -108,9 +127,6 @@ export const writeTool = {
|
|
|
108
127
|
content: detailedContent,
|
|
109
128
|
shortResult,
|
|
110
129
|
filePath: resolvedPath,
|
|
111
|
-
originalContent,
|
|
112
|
-
newContent: content,
|
|
113
|
-
diffResult,
|
|
114
130
|
};
|
|
115
131
|
}
|
|
116
132
|
catch (error) {
|
package/dist/types/commands.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,wBAAwB;IACvC,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAGlC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
* Agent and service configuration types
|
|
3
3
|
* Dependencies: None
|
|
4
4
|
*/
|
|
5
|
+
import OpenAI from "openai";
|
|
5
6
|
export interface GatewayConfig {
|
|
6
7
|
apiKey: string;
|
|
7
8
|
baseURL: string;
|
|
9
|
+
defaultHeaders?: Record<string, string>;
|
|
10
|
+
fetchOptions?: OpenAI["fetchOptions"];
|
|
11
|
+
fetch?: OpenAI["fetch"];
|
|
8
12
|
}
|
|
9
13
|
export interface ModelConfig {
|
|
10
14
|
agentModel: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Management Types
|
|
3
|
+
*
|
|
4
|
+
* Types for centralized configuration loading and validation services.
|
|
5
|
+
* These support the refactored configuration architecture that separates
|
|
6
|
+
* configuration management from hook execution.
|
|
7
|
+
*/
|
|
8
|
+
import type { WaveConfiguration } from "./hooks.js";
|
|
9
|
+
/**
|
|
10
|
+
* Result of configuration loading operations with detailed status information
|
|
11
|
+
*/
|
|
12
|
+
export interface ConfigurationLoadResult {
|
|
13
|
+
/** The loaded configuration, or null if loading failed */
|
|
14
|
+
configuration: WaveConfiguration | null;
|
|
15
|
+
/** Whether the loading operation was successful */
|
|
16
|
+
success: boolean;
|
|
17
|
+
/** Error message if loading failed */
|
|
18
|
+
error?: string;
|
|
19
|
+
/** Path of the successfully loaded file */
|
|
20
|
+
sourcePath?: string;
|
|
21
|
+
/** Non-critical warnings during loading */
|
|
22
|
+
warnings: string[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Result of configuration validation operations
|
|
26
|
+
*/
|
|
27
|
+
export interface ValidationResult {
|
|
28
|
+
/** Whether the configuration is valid */
|
|
29
|
+
isValid: boolean;
|
|
30
|
+
/** Critical errors that prevent configuration use */
|
|
31
|
+
errors: string[];
|
|
32
|
+
/** Non-critical warnings about the configuration */
|
|
33
|
+
warnings: string[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Configuration file paths organized by category
|
|
37
|
+
*/
|
|
38
|
+
export interface ConfigurationPaths {
|
|
39
|
+
/** User-specific configuration file paths in priority order */
|
|
40
|
+
userPaths: string[];
|
|
41
|
+
/** Project-specific configuration file paths in priority order */
|
|
42
|
+
projectPaths: string[];
|
|
43
|
+
/** All configuration paths combined */
|
|
44
|
+
allPaths: string[];
|
|
45
|
+
/** Only the paths that actually exist on the filesystem */
|
|
46
|
+
existingPaths: string[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Options for configuring the ConfigurationService
|
|
50
|
+
*/
|
|
51
|
+
export interface ConfigurationServiceOptions {
|
|
52
|
+
/** Working directory for resolving project configurations */
|
|
53
|
+
workdir: string;
|
|
54
|
+
/** Optional logger for configuration operations */
|
|
55
|
+
logger?: Logger;
|
|
56
|
+
/** Whether to enable validation during loading (default: true) */
|
|
57
|
+
enableValidation?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Minimal logger interface for configuration services
|
|
61
|
+
*/
|
|
62
|
+
interface Logger {
|
|
63
|
+
error: (...args: unknown[]) => void;
|
|
64
|
+
warn: (...args: unknown[]) => void;
|
|
65
|
+
info: (...args: unknown[]) => void;
|
|
66
|
+
debug: (...args: unknown[]) => void;
|
|
67
|
+
}
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=configuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/types/configuration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kEAAkE;IAClE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2DAA2D;IAC3D,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,UAAU,MAAM;IACd,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC"}
|
package/dist/types/core.d.ts
CHANGED
|
@@ -58,6 +58,16 @@ export interface ClaudeUsage extends CompletionUsage {
|
|
|
58
58
|
ephemeral_1h_input_tokens: number;
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Represents a diff change for tool parameter-based diff display
|
|
63
|
+
* Contains the old content and new content for comparison
|
|
64
|
+
*/
|
|
65
|
+
export interface Change {
|
|
66
|
+
/** The original content (empty string for additions) */
|
|
67
|
+
oldContent: string;
|
|
68
|
+
/** The new content (empty string for deletions) */
|
|
69
|
+
newContent: string;
|
|
70
|
+
}
|
|
61
71
|
export declare class ConfigurationError extends Error {
|
|
62
72
|
readonly field: string;
|
|
63
73
|
readonly provided?: unknown | undefined;
|
package/dist/types/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAGtC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,cAAc,CAAC,EAAE;QACf,yBAAyB,EAAE,MAAM,CAAC;QAClC,yBAAyB,EAAE,MAAM,CAAC;KACnC,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAElD,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IAGrB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,cAAc,CAAC,EAAE;QACf,0CAA0C;QAC1C,yBAAyB,EAAE,MAAM,CAAC;QAClC,wCAAwC;QACxC,yBAAyB,EAAE,MAAM,CAAC;KACnC,CAAC;CACH;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,KAAK,EAAE,MAAM;aACb,QAAQ,CAAC,EAAE,OAAO;gBAFlC,OAAO,EAAE,MAAM,EACC,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,OAAO,YAAA;CAKrC;AAGD,eAAO,MAAM,aAAa;;;;;;CAQhB,CAAC"}
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAGtC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,cAAc,CAAC,EAAE;QACf,yBAAyB,EAAE,MAAM,CAAC;QAClC,yBAAyB,EAAE,MAAM,CAAC;KACnC,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAElD,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IAGrB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,cAAc,CAAC,EAAE;QACf,0CAA0C;QAC1C,yBAAyB,EAAE,MAAM,CAAC;QAClC,wCAAwC;QACxC,yBAAyB,EAAE,MAAM,CAAC;KACnC,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,KAAK,EAAE,MAAM;aACb,QAAQ,CAAC,EAAE,OAAO;gBAFlC,OAAO,EAAE,MAAM,EACC,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,OAAO,YAAA;CAKrC;AAGD,eAAO,MAAM,aAAa;;;;;;CAQhB,CAAC"}
|
|
@@ -39,4 +39,45 @@ export interface EnvironmentMergeOptions {
|
|
|
39
39
|
/** Whether to validate variable names for common patterns */
|
|
40
40
|
validateVariableNames?: boolean;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Result of environment variable processing operations
|
|
44
|
+
*/
|
|
45
|
+
export interface EnvironmentProcessResult {
|
|
46
|
+
/** The processed environment variables */
|
|
47
|
+
processedVars: Record<string, string>;
|
|
48
|
+
/** Any conflicts that occurred during processing */
|
|
49
|
+
conflicts: EnvironmentConflict[];
|
|
50
|
+
/** Non-critical warnings during processing */
|
|
51
|
+
warnings: string[];
|
|
52
|
+
/** Whether the variables were successfully applied to process.env */
|
|
53
|
+
applied: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Enhanced environment merge context with conflict details
|
|
57
|
+
*/
|
|
58
|
+
export interface EnvironmentMergeContext {
|
|
59
|
+
/** User-provided environment variables */
|
|
60
|
+
userVars: Record<string, string>;
|
|
61
|
+
/** Project-provided environment variables */
|
|
62
|
+
projectVars: Record<string, string>;
|
|
63
|
+
/** Final merged environment variables */
|
|
64
|
+
mergedVars: Record<string, string>;
|
|
65
|
+
/** Detailed conflict information */
|
|
66
|
+
conflicts: EnvironmentConflict[];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Detailed information about an environment variable conflict
|
|
70
|
+
*/
|
|
71
|
+
export interface EnvironmentConflict {
|
|
72
|
+
/** The environment variable key */
|
|
73
|
+
key: string;
|
|
74
|
+
/** Value from user configuration */
|
|
75
|
+
userValue: string;
|
|
76
|
+
/** Value from project configuration */
|
|
77
|
+
projectValue: string;
|
|
78
|
+
/** Final resolved value (which source won) */
|
|
79
|
+
resolvedValue: string;
|
|
80
|
+
/** Which source provided the final value */
|
|
81
|
+
source: "user" | "project";
|
|
82
|
+
}
|
|
42
83
|
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/types/environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,KAAK,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAa/B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC"}
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/types/environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,KAAK,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAa/B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,oDAAoD;IACpD,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,oCAAoC;IACpC,SAAS,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileSearch.d.ts","sourceRoot":"","sources":["../../src/types/fileSearch.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types/hooks.d.ts
CHANGED
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
* Provides comprehensive TypeScript types for the Wave Code hooks system,
|
|
5
5
|
* enabling automated actions at specific workflow points.
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
8
|
-
export type HookEvent = "PreToolUse" | "PostToolUse" | "UserPromptSubmit" | "Stop" | "SubagentStop";
|
|
7
|
+
export type HookEvent = "PreToolUse" | "PostToolUse" | "UserPromptSubmit" | "Stop" | "SubagentStop" | "Notification";
|
|
9
8
|
export interface HookCommand {
|
|
10
9
|
type: "command";
|
|
11
10
|
command: string;
|
|
@@ -17,6 +16,11 @@ export interface HookEventConfig {
|
|
|
17
16
|
export interface WaveConfiguration {
|
|
18
17
|
hooks?: Partial<Record<HookEvent, HookEventConfig[]>>;
|
|
19
18
|
env?: Record<string, string>;
|
|
19
|
+
defaultMode?: "default" | "bypassPermissions" | "acceptEdits";
|
|
20
|
+
/** New field for persistent permissions */
|
|
21
|
+
permissions?: {
|
|
22
|
+
allow?: string[];
|
|
23
|
+
};
|
|
20
24
|
}
|
|
21
25
|
export interface HookConfiguration extends WaveConfiguration {
|
|
22
26
|
hooks: Partial<Record<HookEvent, HookEventConfig[]>>;
|
|
@@ -70,6 +74,8 @@ export interface HookJsonInput {
|
|
|
70
74
|
tool_response?: unknown;
|
|
71
75
|
user_prompt?: string;
|
|
72
76
|
subagent_type?: string;
|
|
77
|
+
message?: string;
|
|
78
|
+
notification_type?: string;
|
|
73
79
|
}
|
|
74
80
|
export interface ExtendedHookExecutionContext extends HookExecutionContext {
|
|
75
81
|
sessionId?: string;
|
|
@@ -77,8 +83,11 @@ export interface ExtendedHookExecutionContext extends HookExecutionContext {
|
|
|
77
83
|
cwd?: string;
|
|
78
84
|
toolInput?: unknown;
|
|
79
85
|
toolResponse?: unknown;
|
|
86
|
+
env?: Record<string, string>;
|
|
80
87
|
userPrompt?: string;
|
|
81
88
|
subagentType?: string;
|
|
89
|
+
message?: string;
|
|
90
|
+
notificationType?: string;
|
|
82
91
|
}
|
|
83
92
|
export interface HookEnvironment {
|
|
84
93
|
WAVE_PROJECT_DIR: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
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
|
@@ -4,13 +4,6 @@
|
|
|
4
4
|
* Provides comprehensive TypeScript types for the Wave Code hooks system,
|
|
5
5
|
* enabling automated actions at specific workflow points.
|
|
6
6
|
*/
|
|
7
|
-
import { join } from "path";
|
|
8
|
-
import { homedir } from "os";
|
|
9
|
-
// Session path utility (simplified version for hooks)
|
|
10
|
-
export function getSessionFilePath(sessionId) {
|
|
11
|
-
const shortId = sessionId.split("_")[2] || sessionId.slice(-8);
|
|
12
|
-
return join(homedir(), ".wave", "sessions", `session_${shortId}.json`);
|
|
13
|
-
}
|
|
14
7
|
// Hook execution errors (non-blocking)
|
|
15
8
|
export class HookExecutionError extends Error {
|
|
16
9
|
constructor(hookCommand, originalError, context) {
|
|
@@ -38,6 +31,7 @@ export function isValidHookEvent(event) {
|
|
|
38
31
|
"UserPromptSubmit",
|
|
39
32
|
"Stop",
|
|
40
33
|
"SubagentStop",
|
|
34
|
+
"Notification",
|
|
41
35
|
].includes(event);
|
|
42
36
|
}
|
|
43
37
|
export function isValidHookCommand(cmd) {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -19,4 +19,9 @@ export * from "./skills.js";
|
|
|
19
19
|
export * from "./config.js";
|
|
20
20
|
export * from "./session.js";
|
|
21
21
|
export * from "./environment.js";
|
|
22
|
+
export * from "./configuration.js";
|
|
23
|
+
export * from "./permissions.js";
|
|
24
|
+
export * from "./tools.js";
|
|
25
|
+
export * from "./fileSearch.js";
|
|
26
|
+
export * from "./lsp.js";
|
|
22
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -21,3 +21,8 @@ export * from "./skills.js";
|
|
|
21
21
|
export * from "./config.js";
|
|
22
22
|
export * from "./session.js";
|
|
23
23
|
export * from "./environment.js";
|
|
24
|
+
export * from "./configuration.js"; // New configuration management types
|
|
25
|
+
export * from "./permissions.js";
|
|
26
|
+
export * from "./tools.js"; // Tool parameter types
|
|
27
|
+
export * from "./fileSearch.js"; // File search types
|
|
28
|
+
export * from "./lsp.js";
|