wave-agent-sdk 0.0.7 → 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 +105 -24
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +438 -53
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/managers/aiManager.d.ts +18 -7
- package/dist/managers/aiManager.d.ts.map +1 -1
- package/dist/managers/aiManager.js +254 -142
- package/dist/managers/backgroundBashManager.d.ts.map +1 -1
- package/dist/managers/backgroundBashManager.js +11 -9
- package/dist/managers/hookManager.d.ts +6 -6
- package/dist/managers/hookManager.d.ts.map +1 -1
- package/dist/managers/hookManager.js +81 -39
- package/dist/managers/liveConfigManager.d.ts +95 -0
- package/dist/managers/liveConfigManager.d.ts.map +1 -0
- package/dist/managers/liveConfigManager.js +442 -0
- 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 +41 -24
- package/dist/managers/messageManager.d.ts.map +1 -1
- package/dist/managers/messageManager.js +184 -73
- 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 +4 -2
- package/dist/managers/subagentManager.d.ts +42 -6
- package/dist/managers/subagentManager.d.ts.map +1 -1
- package/dist/managers/subagentManager.js +213 -62
- 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 +15 -5
- package/dist/services/aiService.d.ts.map +1 -1
- package/dist/services/aiService.js +446 -77
- 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 +69 -0
- package/dist/services/fileWatcher.d.ts.map +1 -0
- package/dist/services/fileWatcher.js +212 -0
- package/dist/services/hook.d.ts +5 -40
- package/dist/services/hook.d.ts.map +1 -1
- package/dist/services/hook.js +47 -109
- package/dist/services/jsonlHandler.d.ts +71 -0
- package/dist/services/jsonlHandler.d.ts.map +1 -0
- package/dist/services/jsonlHandler.js +236 -0
- package/dist/services/memory.d.ts.map +1 -1
- package/dist/services/memory.js +33 -11
- package/dist/services/session.d.ts +116 -52
- package/dist/services/session.d.ts.map +1 -1
- package/dist/services/session.js +415 -143
- package/dist/tools/bashTool.d.ts.map +1 -1
- package/dist/tools/bashTool.js +77 -17
- package/dist/tools/deleteFileTool.d.ts.map +1 -1
- package/dist/tools/deleteFileTool.js +27 -1
- package/dist/tools/editTool.d.ts.map +1 -1
- package/dist/tools/editTool.js +33 -8
- 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 +30 -10
- package/dist/tools/readTool.d.ts.map +1 -1
- package/dist/tools/readTool.js +113 -3
- 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 +30 -15
- package/dist/types/commands.d.ts +4 -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 +45 -0
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/environment.d.ts +83 -0
- package/dist/types/environment.d.ts.map +1 -0
- package/dist/types/environment.js +21 -0
- 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 +18 -3
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/hooks.js +8 -8
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -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 +19 -12
- 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 +15 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +7 -0
- 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 +48 -30
- 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 +96 -0
- package/dist/utils/cacheControlUtils.d.ts.map +1 -0
- package/dist/utils/cacheControlUtils.js +324 -0
- package/dist/utils/commandPathResolver.d.ts +52 -0
- package/dist/utils/commandPathResolver.d.ts.map +1 -0
- package/dist/utils/commandPathResolver.js +145 -0
- package/dist/utils/configPaths.d.ts +85 -0
- package/dist/utils/configPaths.d.ts.map +1 -0
- package/dist/utils/configPaths.js +121 -0
- package/dist/utils/constants.d.ts +1 -13
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +2 -14
- package/dist/utils/convertMessagesForAPI.d.ts +2 -1
- package/dist/utils/convertMessagesForAPI.d.ts.map +1 -1
- package/dist/utils/convertMessagesForAPI.js +39 -18
- package/dist/utils/customCommands.d.ts.map +1 -1
- package/dist/utils/customCommands.js +66 -21
- 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 +27 -0
- package/dist/utils/fileUtils.d.ts.map +1 -0
- package/dist/utils/fileUtils.js +145 -0
- package/dist/utils/globalLogger.d.ts +88 -0
- package/dist/utils/globalLogger.d.ts.map +1 -0
- package/dist/utils/globalLogger.js +120 -0
- 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/mcpUtils.d.ts.map +1 -1
- package/dist/utils/mcpUtils.js +25 -3
- package/dist/utils/messageOperations.d.ts +20 -18
- package/dist/utils/messageOperations.d.ts.map +1 -1
- package/dist/utils/messageOperations.js +30 -38
- package/dist/utils/pathEncoder.d.ts +108 -0
- package/dist/utils/pathEncoder.d.ts.map +1 -0
- package/dist/utils/pathEncoder.js +279 -0
- package/dist/utils/subagentParser.d.ts +2 -2
- package/dist/utils/subagentParser.d.ts.map +1 -1
- package/dist/utils/subagentParser.js +12 -8
- package/dist/utils/tokenCalculation.d.ts +26 -0
- package/dist/utils/tokenCalculation.d.ts.map +1 -0
- package/dist/utils/tokenCalculation.js +36 -0
- 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 +6 -6
- package/src/agent.ts +586 -78
- package/src/index.ts +4 -0
- package/src/managers/aiManager.ts +341 -192
- package/src/managers/backgroundBashManager.ts +11 -9
- package/src/managers/hookManager.ts +102 -54
- package/src/managers/liveConfigManager.ts +634 -0
- package/src/managers/lspManager.ts +434 -0
- package/src/managers/messageManager.ts +258 -121
- package/src/managers/permissionManager.ts +276 -0
- package/src/managers/skillManager.ts +3 -1
- package/src/managers/slashCommandManager.ts +5 -3
- package/src/managers/subagentManager.ts +295 -76
- package/src/managers/toolManager.ts +95 -3
- package/src/services/aiService.ts +656 -84
- package/src/services/configurationService.ts +762 -0
- package/src/services/fileWatcher.ts +300 -0
- package/src/services/hook.ts +54 -144
- package/src/services/jsonlHandler.ts +303 -0
- package/src/services/memory.ts +34 -11
- package/src/services/session.ts +522 -173
- package/src/tools/bashTool.ts +94 -20
- package/src/tools/deleteFileTool.ts +38 -1
- package/src/tools/editTool.ts +44 -9
- package/src/tools/lspTool.ts +760 -0
- package/src/tools/multiEditTool.ts +41 -11
- package/src/tools/readTool.ts +127 -3
- 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 +43 -16
- package/src/types/commands.ts +6 -1
- package/src/types/config.ts +5 -0
- package/src/types/configuration.ts +73 -0
- package/src/types/core.ts +55 -0
- package/src/types/environment.ts +104 -0
- package/src/types/fileSearch.ts +4 -0
- package/src/types/hooks.ts +32 -16
- package/src/types/index.ts +7 -0
- package/src/types/lsp.ts +96 -0
- package/src/types/messaging.ts +21 -14
- package/src/types/permissions.ts +48 -0
- package/src/types/session.ts +20 -0
- 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 +55 -31
- package/src/utils/builtinSubagents.ts +71 -0
- package/src/utils/cacheControlUtils.ts +475 -0
- package/src/utils/commandPathResolver.ts +189 -0
- package/src/utils/configPaths.ts +163 -0
- package/src/utils/constants.ts +2 -17
- package/src/utils/convertMessagesForAPI.ts +44 -18
- package/src/utils/customCommands.ts +90 -22
- package/src/utils/fileSearch.ts +107 -0
- package/src/utils/fileUtils.ts +160 -0
- package/src/utils/globalLogger.ts +128 -0
- package/src/utils/largeOutputHandler.ts +55 -0
- package/src/utils/markdownParser.ts +1 -19
- package/src/utils/mcpUtils.ts +34 -3
- package/src/utils/messageOperations.ts +47 -53
- package/src/utils/pathEncoder.ts +394 -0
- package/src/utils/subagentParser.ts +13 -9
- package/src/utils/tokenCalculation.ts +43 -0
- package/src/utils/tokenEstimator.ts +68 -0
- package/dist/utils/configResolver.d.ts +0 -38
- package/dist/utils/configResolver.d.ts.map +0 -1
- package/dist/utils/configResolver.js +0 -106
- package/src/utils/configResolver.ts +0 -142
|
@@ -22,19 +22,7 @@ function parseFrontmatter(content) {
|
|
|
22
22
|
continue;
|
|
23
23
|
const key = trimmedLine.slice(0, colonIndex).trim();
|
|
24
24
|
const value = trimmedLine.slice(colonIndex + 1).trim();
|
|
25
|
-
|
|
26
|
-
if (key === "allowed-tools" && value) {
|
|
27
|
-
// Simple array parsing: "tool1, tool2, tool3" or "[tool1, tool2]"
|
|
28
|
-
let arrayValue = value;
|
|
29
|
-
if (arrayValue.startsWith("[") && arrayValue.endsWith("]")) {
|
|
30
|
-
arrayValue = arrayValue.slice(1, -1);
|
|
31
|
-
}
|
|
32
|
-
frontmatter[key] = arrayValue
|
|
33
|
-
.split(",")
|
|
34
|
-
.map((s) => s.trim())
|
|
35
|
-
.filter(Boolean);
|
|
36
|
-
}
|
|
37
|
-
else if (value) {
|
|
25
|
+
if (value) {
|
|
38
26
|
frontmatter[key] = value;
|
|
39
27
|
}
|
|
40
28
|
}
|
|
@@ -55,10 +43,6 @@ export function parseMarkdownFile(filePath) {
|
|
|
55
43
|
let config;
|
|
56
44
|
if (frontmatter) {
|
|
57
45
|
config = {};
|
|
58
|
-
if (frontmatter["allowed-tools"] &&
|
|
59
|
-
Array.isArray(frontmatter["allowed-tools"])) {
|
|
60
|
-
config.allowedTools = frontmatter["allowed-tools"];
|
|
61
|
-
}
|
|
62
46
|
if (frontmatter.model && typeof frontmatter.model === "string") {
|
|
63
47
|
config.model = frontmatter.model;
|
|
64
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpUtils.d.ts","sourceRoot":"","sources":["../../src/utils/mcpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcpUtils.d.ts","sourceRoot":"","sources":["../../src/utils/mcpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAgClE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,0BAA0B,CAc5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD,CAAC,GACD,UAAU,CA2BZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EAAE,GACzB,eAAe,GAAG,SAAS,CAK7B"}
|
package/dist/utils/mcpUtils.js
CHANGED
|
@@ -1,10 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursively clean schema to remove unsupported fields
|
|
3
|
+
*/
|
|
4
|
+
function cleanSchema(schema) {
|
|
5
|
+
if (typeof schema !== "object" || schema === null) {
|
|
6
|
+
return schema;
|
|
7
|
+
}
|
|
8
|
+
if (Array.isArray(schema)) {
|
|
9
|
+
return schema.map(cleanSchema);
|
|
10
|
+
}
|
|
11
|
+
const newSchema = {};
|
|
12
|
+
const obj = schema;
|
|
13
|
+
for (const key in obj) {
|
|
14
|
+
// Remove $schema as OpenAI API doesn't accept it
|
|
15
|
+
// Remove exclusiveMinimum/exclusiveMaximum as some models (e.g. Gemini) don't support them
|
|
16
|
+
if (key === "$schema" ||
|
|
17
|
+
key === "exclusiveMinimum" ||
|
|
18
|
+
key === "exclusiveMaximum") {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
newSchema[key] = cleanSchema(obj[key]);
|
|
22
|
+
}
|
|
23
|
+
return newSchema;
|
|
24
|
+
}
|
|
1
25
|
/**
|
|
2
26
|
* Convert MCP tool to OpenAI function tool format
|
|
3
27
|
*/
|
|
4
28
|
export function mcpToolToOpenAITool(mcpTool, serverName) {
|
|
5
|
-
|
|
6
|
-
const cleanInputSchema = { ...mcpTool.inputSchema };
|
|
7
|
-
delete cleanInputSchema.$schema;
|
|
29
|
+
const cleanInputSchema = cleanSchema(mcpTool.inputSchema);
|
|
8
30
|
return {
|
|
9
31
|
type: "function",
|
|
10
32
|
function: {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { Message, Usage
|
|
1
|
+
import type { Message, Usage } from "../types/index.js";
|
|
2
|
+
import { MessageSource } from "../types/index.js";
|
|
3
|
+
import type { SubagentConfiguration } from "./subagentParser.js";
|
|
2
4
|
import { ChatCompletionMessageFunctionToolCall } from "openai/resources.js";
|
|
3
5
|
export interface UserMessageParams {
|
|
4
6
|
content: string;
|
|
@@ -19,7 +21,14 @@ export interface UpdateToolBlockParams {
|
|
|
19
21
|
result?: string;
|
|
20
22
|
success?: boolean;
|
|
21
23
|
error?: string;
|
|
22
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Tool execution stage:
|
|
26
|
+
* - 'start': Tool call initiated during AI streaming
|
|
27
|
+
* - 'streaming': Tool parameters being received incrementally
|
|
28
|
+
* - 'running': Tool execution in progress
|
|
29
|
+
* - 'end': Tool execution completed with final result
|
|
30
|
+
*/
|
|
31
|
+
stage: "start" | "streaming" | "running" | "end";
|
|
23
32
|
name?: string;
|
|
24
33
|
shortResult?: string;
|
|
25
34
|
images?: Array<{
|
|
@@ -27,17 +36,9 @@ export interface UpdateToolBlockParams {
|
|
|
27
36
|
mediaType?: string;
|
|
28
37
|
}>;
|
|
29
38
|
compactParams?: string;
|
|
39
|
+
parametersChunk?: string;
|
|
30
40
|
}
|
|
31
41
|
export type AgentToolBlockUpdateParams = Omit<UpdateToolBlockParams, "messages">;
|
|
32
|
-
export interface AddDiffBlockParams {
|
|
33
|
-
messages: Message[];
|
|
34
|
-
path: string;
|
|
35
|
-
diffResult: Array<{
|
|
36
|
-
value: string;
|
|
37
|
-
added?: boolean;
|
|
38
|
-
removed?: boolean;
|
|
39
|
-
}>;
|
|
40
|
-
}
|
|
41
42
|
export interface AddErrorBlockParams {
|
|
42
43
|
messages: Message[];
|
|
43
44
|
error: string;
|
|
@@ -65,6 +66,7 @@ export interface CompleteCommandParams {
|
|
|
65
66
|
}
|
|
66
67
|
/**
|
|
67
68
|
* Extract text content from user messages in the messages array
|
|
69
|
+
* Excludes messages with source HOOK to prevent hook-generated content from entering user history
|
|
68
70
|
*/
|
|
69
71
|
export declare const extractUserInputHistory: (messages: Message[]) => string[];
|
|
70
72
|
/**
|
|
@@ -74,9 +76,8 @@ export declare const extractUserInputHistory: (messages: Message[]) => string[];
|
|
|
74
76
|
*/
|
|
75
77
|
export declare const convertImageToBase64: (imagePath: string) => string;
|
|
76
78
|
export declare const addUserMessageToMessages: ({ messages, content, images, customCommandContent, source, }: AddUserMessageParams) => Message[];
|
|
77
|
-
export declare const addAssistantMessageToMessages: (messages: Message[], content?: string, toolCalls?: ChatCompletionMessageFunctionToolCall[], usage?: Usage) => Message[];
|
|
78
|
-
export declare const
|
|
79
|
-
export declare const updateToolBlockInMessage: ({ messages, id, parameters, result, success, error, isRunning, name, shortResult, images, compactParams, }: UpdateToolBlockParams) => Message[];
|
|
79
|
+
export declare const addAssistantMessageToMessages: (messages: Message[], content?: string, toolCalls?: ChatCompletionMessageFunctionToolCall[], usage?: Usage, additionalFields?: Record<string, unknown>) => Message[];
|
|
80
|
+
export declare const updateToolBlockInMessage: ({ messages, id, parameters, result, success, error, stage, name, shortResult, images, compactParams, parametersChunk, }: UpdateToolBlockParams) => Message[];
|
|
80
81
|
export declare const addErrorBlockToMessage: ({ messages, error, }: AddErrorBlockParams) => Message[];
|
|
81
82
|
export declare const addMemoryBlockToMessage: ({ messages, content, isSuccess, memoryType, storagePath, }: AddMemoryBlockParams) => Message[];
|
|
82
83
|
/**
|
|
@@ -108,18 +109,19 @@ export interface AddSubagentBlockParams {
|
|
|
108
109
|
subagentId: string;
|
|
109
110
|
subagentName: string;
|
|
110
111
|
status: "active" | "completed" | "error" | "aborted";
|
|
111
|
-
|
|
112
|
+
sessionId: string;
|
|
113
|
+
configuration: SubagentConfiguration;
|
|
112
114
|
}
|
|
113
115
|
export interface UpdateSubagentBlockParams {
|
|
114
116
|
messages: Message[];
|
|
115
117
|
subagentId: string;
|
|
116
118
|
status: "active" | "completed" | "error" | "aborted";
|
|
117
|
-
|
|
119
|
+
sessionId?: string;
|
|
118
120
|
}
|
|
119
|
-
export declare const addSubagentBlockToMessage: ({ messages, subagentId, subagentName, status,
|
|
121
|
+
export declare const addSubagentBlockToMessage: ({ messages, subagentId, subagentName, status, sessionId, configuration, }: AddSubagentBlockParams) => Message[];
|
|
120
122
|
export declare const updateSubagentBlockInMessage: (messages: Message[], subagentId: string, updates: Partial<{
|
|
121
123
|
status: "active" | "completed" | "error" | "aborted";
|
|
122
|
-
|
|
124
|
+
sessionId: string;
|
|
123
125
|
}>) => Message[];
|
|
124
126
|
/**
|
|
125
127
|
* Removes the last user message from the messages array
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageOperations.d.ts","sourceRoot":"","sources":["../../src/utils/messageOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"messageOperations.d.ts","sourceRoot":"","sources":["../../src/utils/messageOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import { MessageSource } from "../types/index.js";
|
|
1
2
|
import { readFileSync } from "fs";
|
|
2
3
|
import { extname } from "path";
|
|
4
|
+
import { logger } from "./globalLogger.js";
|
|
3
5
|
/**
|
|
4
6
|
* Extract text content from user messages in the messages array
|
|
7
|
+
* Excludes messages with source HOOK to prevent hook-generated content from entering user history
|
|
5
8
|
*/
|
|
6
9
|
export const extractUserInputHistory = (messages) => {
|
|
7
10
|
return messages
|
|
8
11
|
.filter((message) => message.role === "user")
|
|
9
12
|
.map((message) => {
|
|
10
|
-
// Extract
|
|
11
|
-
const textBlocks = message.blocks.filter((block) => block.type === "text");
|
|
13
|
+
// Extract text block content, excluding HOOK-sourced blocks
|
|
14
|
+
const textBlocks = message.blocks.filter((block) => block.type === "text" && block.source !== MessageSource.HOOK);
|
|
12
15
|
return textBlocks
|
|
13
16
|
.map((block) => block.content)
|
|
14
17
|
.join(" ")
|
|
@@ -50,8 +53,8 @@ export const convertImageToBase64 = (imagePath) => {
|
|
|
50
53
|
const base64String = imageBuffer.toString("base64");
|
|
51
54
|
return `data:${mimeType};base64,${base64String}`;
|
|
52
55
|
}
|
|
53
|
-
catch {
|
|
54
|
-
|
|
56
|
+
catch (error) {
|
|
57
|
+
logger.error(`Failed to convert image to base64: ${imagePath}`, error);
|
|
55
58
|
// Return an error placeholder or throw error
|
|
56
59
|
return `data:image/png;base64,`; // Empty base64, avoid program crash
|
|
57
60
|
}
|
|
@@ -82,7 +85,7 @@ export const addUserMessageToMessages = ({ messages, content, images, customComm
|
|
|
82
85
|
return [...messages, userMessage];
|
|
83
86
|
};
|
|
84
87
|
// Add assistant message (support one-time addition of answer and tool calls)
|
|
85
|
-
export const addAssistantMessageToMessages = (messages, content, toolCalls, usage) => {
|
|
88
|
+
export const addAssistantMessageToMessages = (messages, content, toolCalls, usage, additionalFields) => {
|
|
86
89
|
const blocks = [];
|
|
87
90
|
// If there's answer content, add text block
|
|
88
91
|
if (content) {
|
|
@@ -97,7 +100,7 @@ export const addAssistantMessageToMessages = (messages, content, toolCalls, usag
|
|
|
97
100
|
result: "",
|
|
98
101
|
id: toolCall.id || "",
|
|
99
102
|
name: toolCall.function?.name || "",
|
|
100
|
-
|
|
103
|
+
stage: "start",
|
|
101
104
|
});
|
|
102
105
|
});
|
|
103
106
|
}
|
|
@@ -105,28 +108,12 @@ export const addAssistantMessageToMessages = (messages, content, toolCalls, usag
|
|
|
105
108
|
role: "assistant",
|
|
106
109
|
blocks,
|
|
107
110
|
usage, // Include usage data if provided
|
|
111
|
+
...(additionalFields ? { additionalFields: { ...additionalFields } } : {}),
|
|
108
112
|
};
|
|
109
113
|
return [...messages, initialAssistantMessage];
|
|
110
114
|
};
|
|
111
|
-
// Update File Operation Block of the last assistant message
|
|
112
|
-
export const addDiffBlockToMessage = ({ messages, path, diffResult, }) => {
|
|
113
|
-
const newMessages = [...messages];
|
|
114
|
-
// Find the last assistant message
|
|
115
|
-
for (let i = newMessages.length - 1; i >= 0; i--) {
|
|
116
|
-
if (newMessages[i].role === "assistant") {
|
|
117
|
-
// Directly add diff block instead of replacing existing blocks
|
|
118
|
-
newMessages[i].blocks.push({
|
|
119
|
-
type: "diff",
|
|
120
|
-
path: path,
|
|
121
|
-
diffResult: diffResult,
|
|
122
|
-
});
|
|
123
|
-
break;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return newMessages;
|
|
127
|
-
};
|
|
128
115
|
// Update Tool Block of the last assistant message
|
|
129
|
-
export const updateToolBlockInMessage = ({ messages, id, parameters, result, success, error,
|
|
116
|
+
export const updateToolBlockInMessage = ({ messages, id, parameters, result, success, error, stage, name, shortResult, images, compactParams, parametersChunk, }) => {
|
|
130
117
|
const newMessages = [...messages];
|
|
131
118
|
// Find the last assistant message
|
|
132
119
|
for (let i = newMessages.length - 1; i >= 0; i--) {
|
|
@@ -145,26 +132,30 @@ export const updateToolBlockInMessage = ({ messages, id, parameters, result, suc
|
|
|
145
132
|
toolBlock.success = success;
|
|
146
133
|
if (error !== undefined)
|
|
147
134
|
toolBlock.error = error;
|
|
148
|
-
if (
|
|
149
|
-
toolBlock.
|
|
135
|
+
if (stage !== undefined)
|
|
136
|
+
toolBlock.stage = stage;
|
|
150
137
|
if (compactParams !== undefined)
|
|
151
138
|
toolBlock.compactParams = compactParams;
|
|
139
|
+
if (parametersChunk !== undefined)
|
|
140
|
+
toolBlock.parametersChunk = parametersChunk;
|
|
152
141
|
}
|
|
153
142
|
}
|
|
154
|
-
else
|
|
143
|
+
else {
|
|
155
144
|
// If existing block not found, create new one
|
|
145
|
+
// This handles cases where we're streaming tool parameters before execution
|
|
156
146
|
newMessages[i].blocks.push({
|
|
157
147
|
type: "tool",
|
|
158
148
|
parameters: parameters,
|
|
159
|
-
result: result,
|
|
149
|
+
result: result || "",
|
|
160
150
|
shortResult: shortResult,
|
|
161
151
|
images: images, // Add image data
|
|
162
152
|
id: id,
|
|
163
153
|
name: name || "unknown",
|
|
164
154
|
success: success,
|
|
165
155
|
error: error,
|
|
166
|
-
|
|
156
|
+
stage: stage ?? "start",
|
|
167
157
|
compactParams: compactParams,
|
|
158
|
+
parametersChunk: parametersChunk,
|
|
168
159
|
});
|
|
169
160
|
}
|
|
170
161
|
break;
|
|
@@ -284,7 +275,7 @@ export const getMessagesToCompress = (messages, keepLastCount = 7) => {
|
|
|
284
275
|
// Add command output block to message list
|
|
285
276
|
export const addCommandOutputMessage = ({ messages, command, }) => {
|
|
286
277
|
const outputMessage = {
|
|
287
|
-
role: "
|
|
278
|
+
role: "user",
|
|
288
279
|
blocks: [
|
|
289
280
|
{
|
|
290
281
|
type: "command_output",
|
|
@@ -300,10 +291,10 @@ export const addCommandOutputMessage = ({ messages, command, }) => {
|
|
|
300
291
|
// Update output content of command output block
|
|
301
292
|
export const updateCommandOutputInMessage = ({ messages, command, output, }) => {
|
|
302
293
|
const newMessages = [...messages];
|
|
303
|
-
// Find the last
|
|
294
|
+
// Find the last user message with a command_output block for this command
|
|
304
295
|
for (let i = newMessages.length - 1; i >= 0; i--) {
|
|
305
296
|
const msg = newMessages[i];
|
|
306
|
-
if (msg.role === "
|
|
297
|
+
if (msg.role === "user") {
|
|
307
298
|
const commandBlock = msg.blocks.find((block) => block.type === "command_output" &&
|
|
308
299
|
block.command === command &&
|
|
309
300
|
block.isRunning);
|
|
@@ -318,10 +309,10 @@ export const updateCommandOutputInMessage = ({ messages, command, output, }) =>
|
|
|
318
309
|
// Complete command execution, update exit status
|
|
319
310
|
export const completeCommandInMessage = ({ messages, command, exitCode, }) => {
|
|
320
311
|
const newMessages = [...messages];
|
|
321
|
-
// Find the last
|
|
312
|
+
// Find the last user message with a command_output block for this command
|
|
322
313
|
for (let i = newMessages.length - 1; i >= 0; i--) {
|
|
323
314
|
const msg = newMessages[i];
|
|
324
|
-
if (msg.role === "
|
|
315
|
+
if (msg.role === "user") {
|
|
325
316
|
const commandBlock = msg.blocks.find((block) => block.type === "command_output" &&
|
|
326
317
|
block.command === command &&
|
|
327
318
|
block.isRunning);
|
|
@@ -334,7 +325,7 @@ export const completeCommandInMessage = ({ messages, command, exitCode, }) => {
|
|
|
334
325
|
}
|
|
335
326
|
return newMessages;
|
|
336
327
|
};
|
|
337
|
-
export const addSubagentBlockToMessage = ({ messages, subagentId, subagentName, status,
|
|
328
|
+
export const addSubagentBlockToMessage = ({ messages, subagentId, subagentName, status, sessionId, configuration, }) => {
|
|
338
329
|
const newMessages = [...messages];
|
|
339
330
|
// Find the last assistant message or create one
|
|
340
331
|
let lastAssistantMessage = newMessages[newMessages.length - 1];
|
|
@@ -352,7 +343,8 @@ export const addSubagentBlockToMessage = ({ messages, subagentId, subagentName,
|
|
|
352
343
|
subagentId,
|
|
353
344
|
subagentName,
|
|
354
345
|
status,
|
|
355
|
-
|
|
346
|
+
sessionId,
|
|
347
|
+
configuration,
|
|
356
348
|
});
|
|
357
349
|
return newMessages;
|
|
358
350
|
};
|
|
@@ -367,8 +359,8 @@ export const updateSubagentBlockInMessage = (messages, subagentId, updates) => {
|
|
|
367
359
|
if (updates.status !== undefined) {
|
|
368
360
|
block.status = updates.status;
|
|
369
361
|
}
|
|
370
|
-
if (updates.
|
|
371
|
-
block.
|
|
362
|
+
if (updates.sessionId !== undefined) {
|
|
363
|
+
block.sessionId = updates.sessionId;
|
|
372
364
|
}
|
|
373
365
|
return newMessages;
|
|
374
366
|
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path encoding utility for converting working directory paths to filesystem-safe names
|
|
3
|
+
* Handles cross-platform directory name encoding for project-based session organization
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Project directory information
|
|
7
|
+
*/
|
|
8
|
+
export interface ProjectDirectory {
|
|
9
|
+
readonly originalPath: string;
|
|
10
|
+
readonly encodedName: string;
|
|
11
|
+
readonly encodedPath: string;
|
|
12
|
+
readonly pathHash?: string;
|
|
13
|
+
readonly isSymbolicLink: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Path encoding configuration options
|
|
17
|
+
*/
|
|
18
|
+
export interface PathEncodingOptions {
|
|
19
|
+
maxLength?: number;
|
|
20
|
+
pathSeparatorReplacement?: string;
|
|
21
|
+
spaceReplacement?: string;
|
|
22
|
+
invalidCharReplacement?: string;
|
|
23
|
+
preserveCase?: boolean;
|
|
24
|
+
hashLength?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Platform-specific filesystem constraints
|
|
28
|
+
*/
|
|
29
|
+
export interface FilesystemConstraints {
|
|
30
|
+
readonly maxDirectoryNameLength: number;
|
|
31
|
+
readonly maxPathLength: number;
|
|
32
|
+
readonly invalidCharacters: string[];
|
|
33
|
+
readonly reservedNames: string[];
|
|
34
|
+
readonly caseSensitive: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Path validation result
|
|
38
|
+
*/
|
|
39
|
+
export interface PathValidationResult {
|
|
40
|
+
readonly isValid: boolean;
|
|
41
|
+
readonly errors: string[];
|
|
42
|
+
readonly warnings: string[];
|
|
43
|
+
readonly suggestedFix?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* PathEncoder class for converting working directory paths to filesystem-safe names
|
|
47
|
+
*/
|
|
48
|
+
export declare class PathEncoder {
|
|
49
|
+
private readonly options;
|
|
50
|
+
private readonly constraints;
|
|
51
|
+
constructor(options?: PathEncodingOptions);
|
|
52
|
+
/**
|
|
53
|
+
* Encode a working directory path to a filesystem-safe directory name
|
|
54
|
+
*/
|
|
55
|
+
encode(originalPath: string): Promise<string>;
|
|
56
|
+
/**
|
|
57
|
+
* Synchronously encode a path to a filesystem-safe directory name
|
|
58
|
+
* Note: Does not resolve symbolic links - use encode() for full path resolution
|
|
59
|
+
*/
|
|
60
|
+
encodeSync(pathToEncode: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Decode an encoded directory name back to original path (limited functionality)
|
|
63
|
+
* Note: This is best-effort as encoding is lossy
|
|
64
|
+
*/
|
|
65
|
+
decode(encodedName: string): Promise<string | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Synchronously decode an encoded directory name back to original path (limited functionality)
|
|
68
|
+
* Note: This is best-effort as encoding is lossy
|
|
69
|
+
*/
|
|
70
|
+
decodeSync(encodedName: string): string | null;
|
|
71
|
+
/**
|
|
72
|
+
* Resolve symbolic links and normalize path before encoding
|
|
73
|
+
*/
|
|
74
|
+
resolvePath(path: string): Promise<string>;
|
|
75
|
+
/**
|
|
76
|
+
* Get project directory info without creating the directory
|
|
77
|
+
*/
|
|
78
|
+
getProjectDirectory(originalPath: string, baseSessionDir: string): Promise<ProjectDirectory>;
|
|
79
|
+
/**
|
|
80
|
+
* Create project directory entity from original path
|
|
81
|
+
*/
|
|
82
|
+
createProjectDirectory(originalPath: string, baseSessionDir: string): Promise<ProjectDirectory>;
|
|
83
|
+
/**
|
|
84
|
+
* Validate that an encoded name is filesystem-safe
|
|
85
|
+
*/
|
|
86
|
+
validateEncodedName(encodedName: string): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Handle encoding collisions by generating unique names
|
|
89
|
+
*/
|
|
90
|
+
resolveCollision(baseName: string, existingNames: Set<string>): string;
|
|
91
|
+
/**
|
|
92
|
+
* Get platform-specific filesystem constraints
|
|
93
|
+
*/
|
|
94
|
+
private getFilesystemConstraints;
|
|
95
|
+
/**
|
|
96
|
+
* Generate hash for collision resolution
|
|
97
|
+
*/
|
|
98
|
+
private generateHash;
|
|
99
|
+
/**
|
|
100
|
+
* Expand tilde (~) to home directory
|
|
101
|
+
*/
|
|
102
|
+
private expandTilde;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Default PathEncoder instance
|
|
106
|
+
*/
|
|
107
|
+
export declare const pathEncoder: PathEncoder;
|
|
108
|
+
//# sourceMappingURL=pathEncoder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pathEncoder.d.ts","sourceRoot":"","sources":["../../src/utils/pathEncoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;gBAExC,OAAO,GAAE,mBAAwB;IAY7C;;OAEG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnD;;;OAGG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAyCxC;;;OAGG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzD;;;OAGG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgC9C;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBhD;;OAEG;IACG,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC;IAmC5B;;OAEG;IACG,sBAAsB,CAC1B,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC;IAgB5B;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IA+BjD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;IAqBtE;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsDhC;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,WAAW;CAMpB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|