wave-agent-sdk 0.0.8 → 0.0.10
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 +340 -137
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -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 +66 -0
- package/dist/managers/permissionManager.d.ts.map +1 -0
- package/dist/managers/permissionManager.js +208 -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 +72 -13
- 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 +35 -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/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/largeOutputHandler.d.ts +15 -0
- package/dist/utils/largeOutputHandler.d.ts.map +1 -0
- package/dist/utils/largeOutputHandler.js +40 -0
- 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/subagentParser.d.ts +2 -2
- package/dist/utils/subagentParser.d.ts.map +1 -1
- package/dist/utils/subagentParser.js +10 -7
- package/dist/utils/tokenEstimator.d.ts +39 -0
- package/dist/utils/tokenEstimator.d.ts.map +1 -0
- package/dist/utils/tokenEstimator.js +55 -0
- package/package.json +5 -8
- package/src/agent.ts +460 -216
- package/src/index.ts +2 -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 +276 -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 +89 -16
- 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 +48 -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/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/largeOutputHandler.ts +55 -0
- package/src/utils/markdownParser.ts +1 -19
- package/src/utils/messageOperations.ts +7 -35
- package/src/utils/pathEncoder.ts +24 -9
- package/src/utils/subagentParser.ts +11 -8
- package/src/utils/tokenEstimator.ts +68 -0
- 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
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP (Language Server Protocol) configuration and communication types
|
|
3
|
+
*/
|
|
4
|
+
export interface LspServerConfig {
|
|
5
|
+
command: string;
|
|
6
|
+
args?: string[];
|
|
7
|
+
extensionToLanguage: Record<string, string>;
|
|
8
|
+
transport?: "stdio" | "socket";
|
|
9
|
+
env?: Record<string, string>;
|
|
10
|
+
initializationOptions?: unknown;
|
|
11
|
+
settings?: unknown;
|
|
12
|
+
workspaceFolder?: string;
|
|
13
|
+
startupTimeout?: number;
|
|
14
|
+
shutdownTimeout?: number;
|
|
15
|
+
restartOnCrash?: boolean;
|
|
16
|
+
maxRestarts?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface LspConfig {
|
|
19
|
+
[language: string]: LspServerConfig;
|
|
20
|
+
}
|
|
21
|
+
export interface LspPosition {
|
|
22
|
+
line: number;
|
|
23
|
+
character: number;
|
|
24
|
+
}
|
|
25
|
+
export interface LspRange {
|
|
26
|
+
start: LspPosition;
|
|
27
|
+
end: LspPosition;
|
|
28
|
+
}
|
|
29
|
+
export interface LspLocation {
|
|
30
|
+
uri: string;
|
|
31
|
+
range: LspRange;
|
|
32
|
+
}
|
|
33
|
+
export interface LspLocationLink {
|
|
34
|
+
originSelectionRange?: LspRange;
|
|
35
|
+
targetUri: string;
|
|
36
|
+
targetRange: LspRange;
|
|
37
|
+
targetSelectionRange?: LspRange;
|
|
38
|
+
}
|
|
39
|
+
export interface LspHover {
|
|
40
|
+
contents: string | {
|
|
41
|
+
kind: string;
|
|
42
|
+
value: string;
|
|
43
|
+
} | Array<string | {
|
|
44
|
+
kind: string;
|
|
45
|
+
value: string;
|
|
46
|
+
}>;
|
|
47
|
+
range?: LspRange;
|
|
48
|
+
}
|
|
49
|
+
export interface LspSymbolInformation {
|
|
50
|
+
name: string;
|
|
51
|
+
kind: number;
|
|
52
|
+
location: LspLocation;
|
|
53
|
+
containerName?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface LspDocumentSymbol {
|
|
56
|
+
name: string;
|
|
57
|
+
detail?: string;
|
|
58
|
+
kind: number;
|
|
59
|
+
range: LspRange;
|
|
60
|
+
selectionRange: LspRange;
|
|
61
|
+
children?: LspDocumentSymbol[];
|
|
62
|
+
}
|
|
63
|
+
export interface LspCallHierarchyItem {
|
|
64
|
+
name: string;
|
|
65
|
+
kind: number;
|
|
66
|
+
detail?: string;
|
|
67
|
+
uri: string;
|
|
68
|
+
range: LspRange;
|
|
69
|
+
selectionRange: LspRange;
|
|
70
|
+
}
|
|
71
|
+
export interface LspCallHierarchyIncomingCall {
|
|
72
|
+
from: LspCallHierarchyItem;
|
|
73
|
+
fromRanges: LspRange[];
|
|
74
|
+
}
|
|
75
|
+
export interface LspCallHierarchyOutgoingCall {
|
|
76
|
+
to: LspCallHierarchyItem;
|
|
77
|
+
fromRanges: LspRange[];
|
|
78
|
+
}
|
|
79
|
+
export interface ILspManager {
|
|
80
|
+
execute(args: {
|
|
81
|
+
operation: string;
|
|
82
|
+
filePath: string;
|
|
83
|
+
line: number;
|
|
84
|
+
character: number;
|
|
85
|
+
}): Promise<{
|
|
86
|
+
success: boolean;
|
|
87
|
+
content: string;
|
|
88
|
+
}>;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=lsp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp.d.ts","sourceRoot":"","sources":["../../src/types/lsp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,EAAE,QAAQ,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC;IACtB,oBAAoB,CAAC,EAAE,QAAQ,CAAC;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EACJ,MAAM,GACN;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAC/B,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,oBAAoB,CAAC;IACzB,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,IAAI,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD"}
|
|
@@ -12,9 +12,9 @@ export interface Message {
|
|
|
12
12
|
role: "user" | "assistant";
|
|
13
13
|
blocks: MessageBlock[];
|
|
14
14
|
usage?: Usage;
|
|
15
|
-
|
|
15
|
+
additionalFields?: Record<string, unknown>;
|
|
16
16
|
}
|
|
17
|
-
export type MessageBlock = TextBlock | ErrorBlock | ToolBlock | ImageBlock |
|
|
17
|
+
export type MessageBlock = TextBlock | ErrorBlock | ToolBlock | ImageBlock | CommandOutputBlock | CompressBlock | MemoryBlock | SubagentBlock | ReasoningBlock;
|
|
18
18
|
export interface TextBlock {
|
|
19
19
|
type: "text";
|
|
20
20
|
content: string;
|
|
@@ -53,15 +53,6 @@ export interface ImageBlock {
|
|
|
53
53
|
type: "image";
|
|
54
54
|
imageUrls?: string[];
|
|
55
55
|
}
|
|
56
|
-
export interface DiffBlock {
|
|
57
|
-
type: "diff";
|
|
58
|
-
path: string;
|
|
59
|
-
diffResult: Array<{
|
|
60
|
-
value: string;
|
|
61
|
-
added?: boolean;
|
|
62
|
-
removed?: boolean;
|
|
63
|
-
}>;
|
|
64
|
-
}
|
|
65
56
|
export interface CommandOutputBlock {
|
|
66
57
|
type: "command_output";
|
|
67
58
|
command: string;
|
|
@@ -89,4 +80,8 @@ export interface SubagentBlock {
|
|
|
89
80
|
sessionId: string;
|
|
90
81
|
configuration: SubagentConfiguration;
|
|
91
82
|
}
|
|
83
|
+
export interface ReasoningBlock {
|
|
84
|
+
type: "reasoning";
|
|
85
|
+
content: string;
|
|
86
|
+
}
|
|
92
87
|
//# sourceMappingURL=messaging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/types/messaging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/types/messaging.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission system types for Wave Agent SDK
|
|
3
|
+
* Dependencies: None
|
|
4
|
+
*/
|
|
5
|
+
/** Permission mode configuration */
|
|
6
|
+
export type PermissionMode = "default" | "bypassPermissions" | "acceptEdits";
|
|
7
|
+
/** Result of a permission check */
|
|
8
|
+
export interface PermissionDecision {
|
|
9
|
+
/** Whether to allow or deny the operation */
|
|
10
|
+
behavior: "allow" | "deny";
|
|
11
|
+
/** Optional message explaining the decision (required for deny) */
|
|
12
|
+
message?: string;
|
|
13
|
+
/** Signal to change the session's permission mode */
|
|
14
|
+
newPermissionMode?: PermissionMode;
|
|
15
|
+
/** Signal to persist a new allowed rule */
|
|
16
|
+
newPermissionRule?: string;
|
|
17
|
+
}
|
|
18
|
+
/** Callback function for custom permission logic */
|
|
19
|
+
export type PermissionCallback = (context: ToolPermissionContext) => Promise<PermissionDecision>;
|
|
20
|
+
/** Internal context passed to PermissionManager */
|
|
21
|
+
export interface ToolPermissionContext {
|
|
22
|
+
/** Name of the tool being executed */
|
|
23
|
+
toolName: string;
|
|
24
|
+
/** Current permission mode */
|
|
25
|
+
permissionMode: PermissionMode;
|
|
26
|
+
/** Custom permission callback if provided */
|
|
27
|
+
canUseToolCallback?: PermissionCallback;
|
|
28
|
+
/** Tool input parameters for better context */
|
|
29
|
+
toolInput?: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
/** List of tools that require permission checks in default mode */
|
|
32
|
+
export declare const RESTRICTED_TOOLS: readonly ["Edit", "MultiEdit", "Delete", "Bash", "Write"];
|
|
33
|
+
/** Type for restricted tool names */
|
|
34
|
+
export type RestrictedTool = (typeof RESTRICTED_TOOLS)[number];
|
|
35
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/types/permissions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAE7E,mCAAmC;AACnC,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,oDAAoD;AACpD,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,mDAAmD;AACnD,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,2DAMnB,CAAC;AAEX,qCAAqC;AACrC,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/types/session.d.ts
CHANGED
|
@@ -8,13 +8,8 @@ import type { Message } from "./messaging.js";
|
|
|
8
8
|
export interface SessionMessage extends Message {
|
|
9
9
|
timestamp: string;
|
|
10
10
|
}
|
|
11
|
-
export interface
|
|
12
|
-
__meta__: true;
|
|
11
|
+
export interface SessionFilename {
|
|
13
12
|
sessionId: string;
|
|
14
13
|
sessionType: "main" | "subagent";
|
|
15
|
-
parentSessionId?: string;
|
|
16
|
-
subagentType?: string;
|
|
17
|
-
workdir: string;
|
|
18
|
-
startedAt: string;
|
|
19
14
|
}
|
|
20
15
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,SAAS,EAAE,MAAM,CAAC;CAEnB;AAGD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,SAAS,EAAE,MAAM,CAAC;CAEnB;AAGD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC;CAClC"}
|
package/dist/types/skills.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/types/skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,KAAM,SAAQ,aAAa;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/types/skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,KAAM,SAAQ,aAAa;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;CAYjB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool parameter types for edit and write operations
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Parameters for the Write tool
|
|
6
|
+
*/
|
|
7
|
+
export interface WriteToolParameters {
|
|
8
|
+
file_path: string;
|
|
9
|
+
content: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Parameters for a single edit operation in the Edit tool
|
|
13
|
+
*/
|
|
14
|
+
export interface EditOperation {
|
|
15
|
+
old_string: string;
|
|
16
|
+
new_string: string;
|
|
17
|
+
replace_all?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Parameters for the Edit tool
|
|
21
|
+
*/
|
|
22
|
+
export interface EditToolParameters {
|
|
23
|
+
file_path: string;
|
|
24
|
+
old_string: string;
|
|
25
|
+
new_string: string;
|
|
26
|
+
replace_all?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Parameters for the MultiEdit tool
|
|
30
|
+
*/
|
|
31
|
+
export interface MultiEditToolParameters {
|
|
32
|
+
file_path: string;
|
|
33
|
+
edits: EditOperation[];
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for safe AbortSignal listener management to prevent memory leaks
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Safely adds a one-time abort listener that automatically cleans up after firing
|
|
6
|
+
* @param signal - The AbortSignal to listen to
|
|
7
|
+
* @param callback - The function to call when aborted
|
|
8
|
+
* @returns A cleanup function to manually remove the listener if needed
|
|
9
|
+
*/
|
|
10
|
+
export declare function addOnceAbortListener(signal: AbortSignal, callback: () => void): () => void;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Promise that rejects when the AbortSignal is aborted
|
|
13
|
+
* Uses once-only listener to prevent accumulation
|
|
14
|
+
* @param signal - The AbortSignal to listen to
|
|
15
|
+
* @param errorMessage - Optional custom error message
|
|
16
|
+
* @returns Promise that rejects on abort
|
|
17
|
+
*/
|
|
18
|
+
export declare function createAbortPromise(signal: AbortSignal, errorMessage?: string): Promise<never>;
|
|
19
|
+
/**
|
|
20
|
+
* Wrapper that manages abort signal listeners with automatic cleanup
|
|
21
|
+
* @param signal - The AbortSignal to manage
|
|
22
|
+
* @param operation - Function that sets up listeners and returns cleanup
|
|
23
|
+
* @returns Promise that resolves with the operation result
|
|
24
|
+
*/
|
|
25
|
+
export declare function withAbortCleanup<T>(signal: AbortSignal, operation: (signal: AbortSignal) => Promise<T>): Promise<T>;
|
|
26
|
+
/**
|
|
27
|
+
* Consolidates multiple abort listeners into a single listener
|
|
28
|
+
* Useful when multiple handlers need to respond to the same abort signal
|
|
29
|
+
* @param signal - The AbortSignal to listen to
|
|
30
|
+
* @param callbacks - Array of functions to call when aborted
|
|
31
|
+
* @returns Cleanup function to remove the consolidated listener
|
|
32
|
+
*/
|
|
33
|
+
export declare function addConsolidatedAbortListener(signal: AbortSignal, callbacks: (() => void)[]): () => void;
|
|
34
|
+
//# sourceMappingURL=abortUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abortUtils.d.ts","sourceRoot":"","sources":["../../src/utils/abortUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAkBZ;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,YAAY,GAAE,MAAgC,GAC7C,OAAO,CAAC,KAAK,CAAC,CAgBhB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,GACxB,MAAM,IAAI,CAwBZ"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for safe AbortSignal listener management to prevent memory leaks
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Safely adds a one-time abort listener that automatically cleans up after firing
|
|
6
|
+
* @param signal - The AbortSignal to listen to
|
|
7
|
+
* @param callback - The function to call when aborted
|
|
8
|
+
* @returns A cleanup function to manually remove the listener if needed
|
|
9
|
+
*/
|
|
10
|
+
export function addOnceAbortListener(signal, callback) {
|
|
11
|
+
if (signal.aborted) {
|
|
12
|
+
// Signal already aborted, call immediately
|
|
13
|
+
callback();
|
|
14
|
+
return () => { }; // No cleanup needed
|
|
15
|
+
}
|
|
16
|
+
const handler = () => {
|
|
17
|
+
callback();
|
|
18
|
+
};
|
|
19
|
+
// Use { once: true } to automatically remove listener after first call
|
|
20
|
+
signal.addEventListener("abort", handler, { once: true });
|
|
21
|
+
// Return cleanup function for manual removal if needed
|
|
22
|
+
return () => {
|
|
23
|
+
signal.removeEventListener("abort", handler);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creates a Promise that rejects when the AbortSignal is aborted
|
|
28
|
+
* Uses once-only listener to prevent accumulation
|
|
29
|
+
* @param signal - The AbortSignal to listen to
|
|
30
|
+
* @param errorMessage - Optional custom error message
|
|
31
|
+
* @returns Promise that rejects on abort
|
|
32
|
+
*/
|
|
33
|
+
export function createAbortPromise(signal, errorMessage = "Operation was aborted") {
|
|
34
|
+
return new Promise((_, reject) => {
|
|
35
|
+
if (signal.aborted) {
|
|
36
|
+
reject(new Error(errorMessage));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// Use once-only listener to prevent accumulation
|
|
40
|
+
signal.addEventListener("abort", () => {
|
|
41
|
+
reject(new Error(errorMessage));
|
|
42
|
+
}, { once: true });
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Wrapper that manages abort signal listeners with automatic cleanup
|
|
47
|
+
* @param signal - The AbortSignal to manage
|
|
48
|
+
* @param operation - Function that sets up listeners and returns cleanup
|
|
49
|
+
* @returns Promise that resolves with the operation result
|
|
50
|
+
*/
|
|
51
|
+
export async function withAbortCleanup(signal, operation) {
|
|
52
|
+
// Track all cleanup functions
|
|
53
|
+
const cleanups = [];
|
|
54
|
+
try {
|
|
55
|
+
const result = await operation(signal);
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
// Clean up all listeners
|
|
60
|
+
cleanups.forEach((cleanup) => cleanup());
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Consolidates multiple abort listeners into a single listener
|
|
65
|
+
* Useful when multiple handlers need to respond to the same abort signal
|
|
66
|
+
* @param signal - The AbortSignal to listen to
|
|
67
|
+
* @param callbacks - Array of functions to call when aborted
|
|
68
|
+
* @returns Cleanup function to remove the consolidated listener
|
|
69
|
+
*/
|
|
70
|
+
export function addConsolidatedAbortListener(signal, callbacks) {
|
|
71
|
+
if (signal.aborted) {
|
|
72
|
+
// Signal already aborted, call all callbacks immediately
|
|
73
|
+
callbacks.forEach((cb) => cb());
|
|
74
|
+
return () => { }; // No cleanup needed
|
|
75
|
+
}
|
|
76
|
+
const handler = () => {
|
|
77
|
+
callbacks.forEach((cb) => {
|
|
78
|
+
try {
|
|
79
|
+
cb();
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
console.error("Error in abort callback:", error);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
// Use { once: true } to automatically remove listener after first call
|
|
87
|
+
signal.addEventListener("abort", handler, { once: true });
|
|
88
|
+
// Return cleanup function for manual removal if needed
|
|
89
|
+
return () => {
|
|
90
|
+
signal.removeEventListener("abort", handler);
|
|
91
|
+
};
|
|
92
|
+
}
|
|
@@ -31,6 +31,10 @@ export declare const searchBashHistory: (query: string, limit: number | undefine
|
|
|
31
31
|
* Get recently used bash commands
|
|
32
32
|
*/
|
|
33
33
|
export declare const getRecentBashCommands: (workdir: string, limit?: number) => BashHistoryEntry[];
|
|
34
|
+
/**
|
|
35
|
+
* Delete a specific command from bash history
|
|
36
|
+
*/
|
|
37
|
+
export declare const deleteBashCommandFromHistory: (command: string, workdir: string) => void;
|
|
34
38
|
/**
|
|
35
39
|
* Clear bash history
|
|
36
40
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bashHistory.d.ts","sourceRoot":"","sources":["../../src/utils/bashHistory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAkBD;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,WA+BlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,WAAW,KAAG,IAoBtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,SAAS,MAAM,KACd,IA4BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,MAAM,EACb,OAAO,MAAM,YAAK,EAClB,SAAS,MAAM,KACd,gBAAgB,EAsElB,CAAC;AAwBF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,QAAO,MAAW,KACjB,gBAAgB,EAclB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,IAWnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAO;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CAwBpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"bashHistory.d.ts","sourceRoot":"","sources":["../../src/utils/bashHistory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAkBD;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,WA+BlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,WAAW,KAAG,IAoBtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,SAAS,MAAM,KACd,IA4BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,MAAM,EACb,OAAO,MAAM,YAAK,EAClB,SAAS,MAAM,KACd,gBAAgB,EAsElB,CAAC;AAwBF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,MAAM,EACf,QAAO,MAAW,KACjB,gBAAgB,EAclB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACvC,SAAS,MAAM,EACf,SAAS,MAAM,KACd,IAgBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,IAWnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAO;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CAwBpB,CAAC"}
|
|
@@ -117,7 +117,7 @@ export const searchBashHistory = (query, limit = 10, workdir) => {
|
|
|
117
117
|
if (!normalizedQuery) {
|
|
118
118
|
// If no search query, return recent commands (deduplicated)
|
|
119
119
|
const deduped = deduplicateCommands(filteredCommands);
|
|
120
|
-
return deduped.slice(
|
|
120
|
+
return deduped.slice(0, limit); // Latest first
|
|
121
121
|
}
|
|
122
122
|
// Search by relevance
|
|
123
123
|
const matches = filteredCommands
|
|
@@ -177,8 +177,8 @@ const deduplicateCommands = (commands) => {
|
|
|
177
177
|
commandMap.set(entry.command, entry);
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
-
// Sort by timestamp and return
|
|
181
|
-
return Array.from(commandMap.values()).sort((a, b) =>
|
|
180
|
+
// Sort by timestamp and return (new to old)
|
|
181
|
+
return Array.from(commandMap.values()).sort((a, b) => b.timestamp - a.timestamp);
|
|
182
182
|
};
|
|
183
183
|
/**
|
|
184
184
|
* Get recently used bash commands
|
|
@@ -189,13 +189,30 @@ export const getRecentBashCommands = (workdir, limit = 10) => {
|
|
|
189
189
|
const filtered = history.commands.filter((entry) => entry.workdir === workdir);
|
|
190
190
|
// Return recent commands after deduplication
|
|
191
191
|
const deduped = deduplicateCommands(filtered);
|
|
192
|
-
return deduped.slice(
|
|
192
|
+
return deduped.slice(0, limit); // Latest first
|
|
193
193
|
}
|
|
194
194
|
catch (error) {
|
|
195
195
|
logger.debug("Failed to get recent bash commands:", error);
|
|
196
196
|
return [];
|
|
197
197
|
}
|
|
198
198
|
};
|
|
199
|
+
/**
|
|
200
|
+
* Delete a specific command from bash history
|
|
201
|
+
*/
|
|
202
|
+
export const deleteBashCommandFromHistory = (command, workdir) => {
|
|
203
|
+
try {
|
|
204
|
+
const history = loadBashHistory();
|
|
205
|
+
const initialLength = history.commands.length;
|
|
206
|
+
history.commands = history.commands.filter((entry) => !(entry.command === command && entry.workdir === workdir));
|
|
207
|
+
if (history.commands.length !== initialLength) {
|
|
208
|
+
saveBashHistory(history);
|
|
209
|
+
logger.debug("Deleted bash command from history:", { command, workdir });
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
logger.debug("Failed to delete bash command from history:", error);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
199
216
|
/**
|
|
200
217
|
* Clear bash history
|
|
201
218
|
*/
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SubagentConfiguration } from "./subagentParser.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get all built-in subagent configurations
|
|
4
|
+
* Built-in subagents have priority 3 (lowest) and can be overridden by user/project configs
|
|
5
|
+
*/
|
|
6
|
+
export declare function getBuiltinSubagents(): SubagentConfiguration[];
|
|
7
|
+
//# sourceMappingURL=builtinSubagents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtinSubagents.d.ts","sourceRoot":"","sources":["../../src/utils/builtinSubagents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,qBAAqB,EAAE,CAK7D"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get all built-in subagent configurations
|
|
3
|
+
* Built-in subagents have priority 3 (lowest) and can be overridden by user/project configs
|
|
4
|
+
*/
|
|
5
|
+
export function getBuiltinSubagents() {
|
|
6
|
+
return [
|
|
7
|
+
createExploreSubagent(),
|
|
8
|
+
// Add more built-in subagents here as needed
|
|
9
|
+
];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Create the Explore built-in subagent configuration
|
|
13
|
+
* Specialized for codebase exploration and file search tasks
|
|
14
|
+
*/
|
|
15
|
+
function createExploreSubagent() {
|
|
16
|
+
const systemPrompt = `You are a file search specialist. You excel at thoroughly navigating and exploring codebases.
|
|
17
|
+
|
|
18
|
+
=== CRITICAL: READ-ONLY MODE - NO FILE MODIFICATIONS ===
|
|
19
|
+
This is a READ-ONLY exploration task. You are STRICTLY PROHIBITED from:
|
|
20
|
+
- Creating new files (no Write, touch, or file creation of any kind)
|
|
21
|
+
- Modifying existing files (no Edit operations)
|
|
22
|
+
- Deleting files (no rm or deletion)
|
|
23
|
+
- Moving or copying files (no mv or cp)
|
|
24
|
+
- Creating temporary files anywhere, including /tmp
|
|
25
|
+
- Using redirect operators (>, >>, |) or heredocs to write to files
|
|
26
|
+
- Running ANY commands that change system state
|
|
27
|
+
|
|
28
|
+
Your role is EXCLUSIVELY to search and analyze existing code. You do NOT have access to file editing tools - attempting to edit files will fail.
|
|
29
|
+
|
|
30
|
+
Your strengths:
|
|
31
|
+
- Rapidly finding files using glob patterns
|
|
32
|
+
- Searching code and text with powerful regex patterns
|
|
33
|
+
- Reading and analyzing file contents
|
|
34
|
+
- Using Language Server Protocol (LSP) for deep code intelligence (definitions, references, etc.)
|
|
35
|
+
|
|
36
|
+
Guidelines:
|
|
37
|
+
- Use Glob for broad file pattern matching
|
|
38
|
+
- Use Grep for searching file contents with regex
|
|
39
|
+
- Use Read when you know the specific file path you need to read
|
|
40
|
+
- Use LSP for code intelligence features like finding definitions, references, implementations, and symbols. This is especially useful for understanding complex code relationships.
|
|
41
|
+
- Use Bash ONLY for read-only operations (ls, git status, git log, git diff, find, cat, head, tail)
|
|
42
|
+
- NEVER use Bash for: mkdir, touch, rm, cp, mv, git add, git commit, npm install, pip install, or any file creation/modification
|
|
43
|
+
- Adapt your search approach based on the thoroughness level specified by the caller
|
|
44
|
+
- Return file paths as absolute paths in your final response
|
|
45
|
+
- For clear communication, avoid using emojis
|
|
46
|
+
- Communicate your final report directly as a regular message - do NOT attempt to create files
|
|
47
|
+
|
|
48
|
+
NOTE: You are meant to be a fast agent that returns output as quickly as possible. In order to achieve this you must:
|
|
49
|
+
- Make efficient use of the tools that you have at your disposal: be smart about how you search for files and implementations
|
|
50
|
+
- Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files
|
|
51
|
+
|
|
52
|
+
Complete the user's search request efficiently and report your findings clearly.`;
|
|
53
|
+
// Define allowed tools for read-only operations
|
|
54
|
+
const allowedTools = ["Glob", "Grep", "Read", "Bash", "LS", "LSP"];
|
|
55
|
+
return {
|
|
56
|
+
name: "Explore",
|
|
57
|
+
description: 'Fast agent specialized for exploring codebases. Use this when you need to quickly find files by patterns (eg. "src/components/**/*.tsx"), search code for keywords (eg. "API endpoints"), or answer questions about the codebase (eg. "how do API endpoints work?"). When calling this agent, specify the desired thoroughness level: "quick" for basic searches, "medium" for moderate exploration, or "very thorough" for comprehensive analysis across multiple locations and naming conventions.',
|
|
58
|
+
systemPrompt,
|
|
59
|
+
tools: allowedTools,
|
|
60
|
+
model: "fastModel", // Special value that will use parent's fastModel
|
|
61
|
+
filePath: "<builtin:Explore>",
|
|
62
|
+
scope: "builtin",
|
|
63
|
+
priority: 3, // Lowest priority - can be overridden by user configs
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -42,18 +42,6 @@ export interface ClaudeUsage extends CompletionUsage {
|
|
|
42
42
|
ephemeral_1h_input_tokens: number;
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Configuration for cache control application
|
|
47
|
-
*/
|
|
48
|
-
export interface CacheControlConfig {
|
|
49
|
-
cacheSystemMessage: boolean;
|
|
50
|
-
cacheUserMessageCount: number;
|
|
51
|
-
cacheLastTool: boolean;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Default cache control configuration
|
|
55
|
-
*/
|
|
56
|
-
export declare const DEFAULT_CACHE_CONTROL_CONFIG: CacheControlConfig;
|
|
57
45
|
/**
|
|
58
46
|
* Determines if a model supports cache control
|
|
59
47
|
* @param modelName - Model identifier
|
|
@@ -80,13 +68,18 @@ export declare function addCacheControlToContent(content: string | ChatCompletio
|
|
|
80
68
|
*/
|
|
81
69
|
export declare function addCacheControlToLastTool(tools: ChatCompletionFunctionTool[]): ClaudeChatCompletionFunctionTool[];
|
|
82
70
|
/**
|
|
83
|
-
*
|
|
71
|
+
* Finds the latest message index at 20-message intervals (sliding window approach)
|
|
72
|
+
* @param messages - Array of chat completion messages
|
|
73
|
+
* @returns Index of the latest interval message (20th, 40th, 60th, etc.) or -1 if none
|
|
74
|
+
*/
|
|
75
|
+
export declare function findIntervalMessageIndex(messages: ChatCompletionMessageParam[]): number;
|
|
76
|
+
/**
|
|
77
|
+
* Transforms messages for Claude cache control with hardcoded strategy
|
|
84
78
|
* @param messages - Original OpenAI message array
|
|
85
79
|
* @param modelName - Model name for cache detection
|
|
86
|
-
* @param config - Cache control configuration
|
|
87
80
|
* @returns Messages with cache control markers applied
|
|
88
81
|
*/
|
|
89
|
-
export declare function transformMessagesForClaudeCache(messages: ChatCompletionMessageParam[], modelName: string
|
|
82
|
+
export declare function transformMessagesForClaudeCache(messages: ChatCompletionMessageParam[], modelName: string): ChatCompletionMessageParam[];
|
|
90
83
|
/**
|
|
91
84
|
* Extends standard usage with cache metrics
|
|
92
85
|
* @param standardUsage - OpenAI usage response
|
|
@@ -100,22 +93,4 @@ export declare function extendUsageWithCacheMetrics(standardUsage: CompletionUsa
|
|
|
100
93
|
* @returns True if usage structure is valid
|
|
101
94
|
*/
|
|
102
95
|
export declare function isValidClaudeUsage(usage: unknown): usage is ClaudeUsage;
|
|
103
|
-
/**
|
|
104
|
-
* Adds cache control to the last N user messages in a conversation
|
|
105
|
-
* This optimizes multi-turn conversations by caching recent user context
|
|
106
|
-
*
|
|
107
|
-
* @param messages - Array of chat completion messages
|
|
108
|
-
* @param maxUserMessagesToCache - Maximum number of recent user messages to cache (default: 2)
|
|
109
|
-
* @returns Modified messages array with cache control on recent user messages
|
|
110
|
-
*/
|
|
111
|
-
export declare function addCacheControlToRecentUserMessages(messages: ChatCompletionMessageParam[], maxUserMessagesToCache?: number): ChatCompletionMessageParam[];
|
|
112
|
-
/**
|
|
113
|
-
* Helper function to identify user message indices that should be cached
|
|
114
|
-
* Used for testing and validation purposes
|
|
115
|
-
*
|
|
116
|
-
* @param messages - Array of chat completion messages
|
|
117
|
-
* @param maxUserMessagesToCache - Maximum number of recent user messages to identify
|
|
118
|
-
* @returns Array of indices for user messages that should be cached
|
|
119
|
-
*/
|
|
120
|
-
export declare function findRecentUserMessageIndices(messages: ChatCompletionMessageParam[], maxUserMessagesToCache?: number): number[];
|
|
121
96
|
//# sourceMappingURL=cacheControlUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cacheControlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/cacheControlUtils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,0BAA0B,
|
|
1
|
+
{"version":3,"file":"cacheControlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/cacheControlUtils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,0BAA0B,EAE1B,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAO1B;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mCACf,SAAQ,6BAA6B;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gCACf,SAAQ,0BAA0B;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAC;IACjD,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IAGrB,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;AAUD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAaxD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,YAAY,CAQ7E;AA0BD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,GAAG,yBAAyB,EAAE,EAC7C,WAAW,EAAE,OAAO,GACnB,mCAAmC,EAAE,CAkEvC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,0BAA0B,EAAE,GAClC,gCAAgC,EAAE,CAwCpC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,0BAA0B,EAAE,GACrC,MAAM,CAoBR;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,0BAA0B,EAAE,EACtC,SAAS,EAAE,MAAM,GAChB,0BAA0B,EAAE,CAoF9B;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,eAAe,EAC9B,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAClC,WAAW,CAkCb;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAyCvE"}
|