wave-agent-sdk 0.0.5 → 0.0.7
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 +3 -6
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +24 -21
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/managers/aiManager.d.ts +4 -2
- package/dist/managers/aiManager.d.ts.map +1 -1
- package/dist/managers/aiManager.js +91 -53
- package/dist/managers/backgroundBashManager.d.ts +1 -1
- package/dist/managers/backgroundBashManager.d.ts.map +1 -1
- package/dist/{hooks/manager.d.ts → managers/hookManager.d.ts} +27 -16
- package/dist/managers/hookManager.d.ts.map +1 -0
- package/dist/{hooks/manager.js → managers/hookManager.js} +112 -17
- package/dist/managers/mcpManager.d.ts +1 -1
- package/dist/managers/mcpManager.d.ts.map +1 -1
- package/dist/managers/messageManager.d.ts +20 -15
- package/dist/managers/messageManager.d.ts.map +1 -1
- package/dist/managers/messageManager.js +19 -25
- package/dist/managers/skillManager.d.ts +1 -1
- package/dist/managers/skillManager.d.ts.map +1 -1
- package/dist/managers/slashCommandManager.d.ts +1 -1
- package/dist/managers/slashCommandManager.d.ts.map +1 -1
- package/dist/managers/slashCommandManager.js +5 -2
- package/dist/managers/subagentManager.d.ts +7 -12
- package/dist/managers/subagentManager.d.ts.map +1 -1
- package/dist/managers/subagentManager.js +40 -46
- package/dist/managers/toolManager.d.ts +1 -1
- package/dist/managers/toolManager.d.ts.map +1 -1
- package/dist/services/aiService.d.ts +1 -1
- package/dist/services/aiService.d.ts.map +1 -1
- package/dist/services/aiService.js +8 -1
- package/dist/services/hook.d.ts +56 -0
- package/dist/services/hook.d.ts.map +1 -0
- package/dist/services/hook.js +276 -0
- package/dist/services/session.d.ts +1 -1
- package/dist/services/session.d.ts.map +1 -1
- package/dist/services/session.js +5 -4
- package/dist/tools/taskTool.d.ts.map +1 -1
- package/dist/tools/taskTool.js +7 -3
- package/dist/tools/todoWriteTool.d.ts.map +1 -1
- package/dist/tools/todoWriteTool.js +3 -10
- package/dist/types/commands.d.ts +24 -0
- package/dist/types/commands.d.ts.map +1 -0
- package/dist/types/commands.js +5 -0
- package/dist/types/config.d.ts +13 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +5 -0
- package/dist/types/core.d.ts +38 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/{types.js → types/core.js} +4 -13
- package/dist/{hooks/types.d.ts → types/hooks.d.ts} +2 -1
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/index.d.ts +20 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +21 -0
- package/dist/types/mcp.d.ts +28 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +5 -0
- package/dist/types/messaging.d.ts +80 -0
- package/dist/types/messaging.d.ts.map +1 -0
- package/dist/types/messaging.js +9 -0
- package/dist/types/processes.d.ts +17 -0
- package/dist/types/processes.d.ts.map +1 -0
- package/dist/types/processes.js +5 -0
- package/dist/types/skills.d.ts +78 -0
- package/dist/types/skills.d.ts.map +1 -0
- package/dist/types/skills.js +17 -0
- package/dist/utils/configResolver.d.ts +1 -1
- package/dist/utils/configResolver.d.ts.map +1 -1
- package/dist/utils/configResolver.js +1 -1
- package/dist/utils/configValidator.d.ts +1 -1
- package/dist/utils/configValidator.d.ts.map +1 -1
- package/dist/utils/configValidator.js +1 -1
- package/dist/utils/convertMessagesForAPI.d.ts +1 -1
- package/dist/utils/convertMessagesForAPI.d.ts.map +1 -1
- package/dist/utils/convertMessagesForAPI.js +1 -8
- package/dist/utils/customCommands.d.ts +1 -1
- package/dist/utils/customCommands.d.ts.map +1 -1
- package/dist/{hooks/matcher.d.ts → utils/hookMatcher.d.ts} +2 -7
- package/dist/utils/hookMatcher.d.ts.map +1 -0
- package/dist/utils/markdownParser.d.ts +1 -1
- package/dist/utils/markdownParser.d.ts.map +1 -1
- package/dist/utils/mcpUtils.d.ts +1 -1
- package/dist/utils/mcpUtils.d.ts.map +1 -1
- package/dist/utils/messageOperations.d.ts +14 -21
- package/dist/utils/messageOperations.d.ts.map +1 -1
- package/dist/utils/messageOperations.js +37 -20
- package/dist/utils/skillParser.d.ts +1 -1
- package/dist/utils/skillParser.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agent.ts +49 -43
- package/src/index.ts +3 -4
- package/src/managers/aiManager.ts +241 -160
- package/src/managers/backgroundBashManager.ts +1 -1
- package/src/{hooks/manager.ts → managers/hookManager.ts} +168 -56
- package/src/managers/mcpManager.ts +1 -1
- package/src/managers/messageManager.ts +44 -44
- package/src/managers/skillManager.ts +1 -1
- package/src/managers/slashCommandManager.ts +10 -7
- package/src/managers/subagentManager.ts +47 -54
- package/src/managers/toolManager.ts +1 -1
- package/src/services/aiService.ts +9 -2
- package/src/services/hook.ts +360 -0
- package/src/services/session.ts +6 -7
- package/src/tools/taskTool.ts +13 -5
- package/src/tools/todoWriteTool.ts +3 -11
- package/src/types/commands.ts +26 -0
- package/src/types/config.ts +14 -0
- package/src/types/core.ts +49 -0
- package/src/{hooks/types.ts → types/hooks.ts} +1 -0
- package/src/types/index.ts +23 -0
- package/src/types/mcp.ts +31 -0
- package/src/types/messaging.ts +102 -0
- package/src/types/processes.ts +18 -0
- package/src/types/skills.ts +91 -0
- package/src/utils/configResolver.ts +1 -1
- package/src/utils/configValidator.ts +5 -1
- package/src/utils/convertMessagesForAPI.ts +2 -10
- package/src/utils/customCommands.ts +1 -1
- package/src/{hooks/matcher.ts → utils/hookMatcher.ts} +1 -12
- package/src/utils/markdownParser.ts +1 -1
- package/src/utils/mcpUtils.ts +1 -1
- package/src/utils/messageOperations.ts +56 -42
- package/src/utils/skillParser.ts +1 -1
- package/dist/hooks/executor.d.ts +0 -56
- package/dist/hooks/executor.d.ts.map +0 -1
- package/dist/hooks/executor.js +0 -312
- package/dist/hooks/index.d.ts +0 -17
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -14
- package/dist/hooks/manager.d.ts.map +0 -1
- package/dist/hooks/matcher.d.ts.map +0 -1
- package/dist/hooks/settings.d.ts +0 -46
- package/dist/hooks/settings.d.ts.map +0 -1
- package/dist/hooks/settings.js +0 -100
- package/dist/hooks/types.d.ts.map +0 -1
- package/dist/types.d.ts +0 -288
- package/dist/types.d.ts.map +0 -1
- package/src/hooks/executor.ts +0 -440
- package/src/hooks/index.ts +0 -52
- package/src/hooks/settings.ts +0 -129
- package/src/types.ts +0 -357
- /package/dist/{hooks/types.js → types/hooks.js} +0 -0
- /package/dist/{hooks/matcher.js → utils/hookMatcher.js} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main type index - Barrel export for backward compatibility
|
|
3
|
+
* Re-exports all domain types for legacy imports
|
|
4
|
+
*
|
|
5
|
+
* Legacy import pattern (continues to work):
|
|
6
|
+
* import { Message, Logger, McpTool } from 'wave-agent-sdk/types';
|
|
7
|
+
*
|
|
8
|
+
* New domain-specific import pattern:
|
|
9
|
+
* import { Message } from 'wave-agent-sdk/types/messaging';
|
|
10
|
+
* import { Logger } from 'wave-agent-sdk/types/core';
|
|
11
|
+
* import { McpTool } from 'wave-agent-sdk/types/mcp';
|
|
12
|
+
*/
|
|
13
|
+
export * from "./core.js";
|
|
14
|
+
export * from "./messaging.js";
|
|
15
|
+
export * from "./mcp.js";
|
|
16
|
+
export * from "./processes.js";
|
|
17
|
+
export * from "./commands.js";
|
|
18
|
+
export * from "./skills.js";
|
|
19
|
+
export * from "./config.js";
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main type index - Barrel export for backward compatibility
|
|
3
|
+
* Re-exports all domain types for legacy imports
|
|
4
|
+
*
|
|
5
|
+
* Legacy import pattern (continues to work):
|
|
6
|
+
* import { Message, Logger, McpTool } from 'wave-agent-sdk/types';
|
|
7
|
+
*
|
|
8
|
+
* New domain-specific import pattern:
|
|
9
|
+
* import { Message } from 'wave-agent-sdk/types/messaging';
|
|
10
|
+
* import { Logger } from 'wave-agent-sdk/types/core';
|
|
11
|
+
* import { McpTool } from 'wave-agent-sdk/types/mcp';
|
|
12
|
+
*/
|
|
13
|
+
// Core foundational types
|
|
14
|
+
export * from "./core.js";
|
|
15
|
+
// Domain-specific types
|
|
16
|
+
export * from "./messaging.js";
|
|
17
|
+
export * from "./mcp.js";
|
|
18
|
+
export * from "./processes.js";
|
|
19
|
+
export * from "./commands.js";
|
|
20
|
+
export * from "./skills.js";
|
|
21
|
+
export * from "./config.js";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model Context Protocol types
|
|
3
|
+
* Dependencies: None
|
|
4
|
+
*/
|
|
5
|
+
export interface McpServerConfig {
|
|
6
|
+
command: string;
|
|
7
|
+
args?: string[];
|
|
8
|
+
env?: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
export interface McpConfig {
|
|
11
|
+
mcpServers: Record<string, McpServerConfig>;
|
|
12
|
+
}
|
|
13
|
+
export interface McpTool {
|
|
14
|
+
name: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
inputSchema: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
export interface McpServerStatus {
|
|
19
|
+
name: string;
|
|
20
|
+
config: McpServerConfig;
|
|
21
|
+
status: "disconnected" | "connected" | "connecting" | "error";
|
|
22
|
+
tools?: McpTool[];
|
|
23
|
+
toolCount?: number;
|
|
24
|
+
capabilities?: string[];
|
|
25
|
+
lastConnected?: number;
|
|
26
|
+
error?: string;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC;IAC9D,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Message and communication block types
|
|
3
|
+
* Dependencies: Core (Usage)
|
|
4
|
+
*/
|
|
5
|
+
import type { Usage } from "./core.js";
|
|
6
|
+
export declare enum MessageSource {
|
|
7
|
+
USER = "user",
|
|
8
|
+
HOOK = "hook"
|
|
9
|
+
}
|
|
10
|
+
export interface Message {
|
|
11
|
+
role: "user" | "assistant";
|
|
12
|
+
blocks: MessageBlock[];
|
|
13
|
+
usage?: Usage;
|
|
14
|
+
}
|
|
15
|
+
export type MessageBlock = TextBlock | ErrorBlock | ToolBlock | ImageBlock | DiffBlock | CommandOutputBlock | CompressBlock | MemoryBlock | SubagentBlock;
|
|
16
|
+
export interface TextBlock {
|
|
17
|
+
type: "text";
|
|
18
|
+
content: string;
|
|
19
|
+
customCommandContent?: string;
|
|
20
|
+
source?: MessageSource;
|
|
21
|
+
}
|
|
22
|
+
export interface ErrorBlock {
|
|
23
|
+
type: "error";
|
|
24
|
+
content: string;
|
|
25
|
+
}
|
|
26
|
+
export interface ToolBlock {
|
|
27
|
+
type: "tool";
|
|
28
|
+
parameters?: string;
|
|
29
|
+
result?: string;
|
|
30
|
+
shortResult?: string;
|
|
31
|
+
images?: Array<{
|
|
32
|
+
data: string;
|
|
33
|
+
mediaType?: string;
|
|
34
|
+
}>;
|
|
35
|
+
id?: string;
|
|
36
|
+
name?: string;
|
|
37
|
+
isRunning?: boolean;
|
|
38
|
+
success?: boolean;
|
|
39
|
+
error?: string | Error;
|
|
40
|
+
compactParams?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface ImageBlock {
|
|
43
|
+
type: "image";
|
|
44
|
+
imageUrls?: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface DiffBlock {
|
|
47
|
+
type: "diff";
|
|
48
|
+
path: string;
|
|
49
|
+
diffResult: Array<{
|
|
50
|
+
value: string;
|
|
51
|
+
added?: boolean;
|
|
52
|
+
removed?: boolean;
|
|
53
|
+
}>;
|
|
54
|
+
}
|
|
55
|
+
export interface CommandOutputBlock {
|
|
56
|
+
type: "command_output";
|
|
57
|
+
command: string;
|
|
58
|
+
output: string;
|
|
59
|
+
isRunning: boolean;
|
|
60
|
+
exitCode: number | null;
|
|
61
|
+
}
|
|
62
|
+
export interface CompressBlock {
|
|
63
|
+
type: "compress";
|
|
64
|
+
content: string;
|
|
65
|
+
}
|
|
66
|
+
export interface MemoryBlock {
|
|
67
|
+
type: "memory";
|
|
68
|
+
content: string;
|
|
69
|
+
isSuccess: boolean;
|
|
70
|
+
memoryType?: "project" | "user";
|
|
71
|
+
storagePath?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface SubagentBlock {
|
|
74
|
+
type: "subagent";
|
|
75
|
+
subagentId: string;
|
|
76
|
+
subagentName: string;
|
|
77
|
+
status: "active" | "completed" | "error" | "aborted";
|
|
78
|
+
messages: Message[];
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=messaging.d.ts.map
|
|
@@ -0,0 +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;AAEvC,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;CACf;AAED,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,kBAAkB,GAClB,aAAa,GACb,WAAW,GACX,aAAa,CAAC;AAElB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;QAEb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,KAAK,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IACrD,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background process and shell management types
|
|
3
|
+
* Dependencies: None
|
|
4
|
+
*/
|
|
5
|
+
import type { ChildProcess } from "child_process";
|
|
6
|
+
export interface BackgroundShell {
|
|
7
|
+
id: string;
|
|
8
|
+
process: ChildProcess;
|
|
9
|
+
command: string;
|
|
10
|
+
startTime: number;
|
|
11
|
+
status: "running" | "completed" | "killed";
|
|
12
|
+
stdout: string;
|
|
13
|
+
stderr: string;
|
|
14
|
+
exitCode?: number;
|
|
15
|
+
runtime?: number;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=processes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processes.d.ts","sourceRoot":"","sources":["../../src/types/processes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill system types and constants
|
|
3
|
+
* Dependencies: Core (Logger)
|
|
4
|
+
*/
|
|
5
|
+
import type { Logger } from "./core.js";
|
|
6
|
+
export interface SkillMetadata {
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
type: "personal" | "project";
|
|
10
|
+
skillPath: string;
|
|
11
|
+
}
|
|
12
|
+
export interface Skill extends SkillMetadata {
|
|
13
|
+
content: string;
|
|
14
|
+
frontmatter: SkillFrontmatter;
|
|
15
|
+
isValid: boolean;
|
|
16
|
+
errors: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface SkillFrontmatter {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
[key: string]: unknown;
|
|
22
|
+
}
|
|
23
|
+
export interface SkillCollection {
|
|
24
|
+
type: "personal" | "project";
|
|
25
|
+
basePath: string;
|
|
26
|
+
skills: Map<string, SkillMetadata>;
|
|
27
|
+
errors: SkillError[];
|
|
28
|
+
}
|
|
29
|
+
export interface SkillError {
|
|
30
|
+
skillPath: string;
|
|
31
|
+
message: string;
|
|
32
|
+
}
|
|
33
|
+
export interface SkillValidationResult {
|
|
34
|
+
isValid: boolean;
|
|
35
|
+
skill?: Skill;
|
|
36
|
+
errors: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface SkillDiscoveryResult {
|
|
39
|
+
personalSkills: Map<string, SkillMetadata>;
|
|
40
|
+
projectSkills: Map<string, SkillMetadata>;
|
|
41
|
+
errors: SkillError[];
|
|
42
|
+
}
|
|
43
|
+
export interface SkillInvocationContext {
|
|
44
|
+
skillName: string;
|
|
45
|
+
}
|
|
46
|
+
export interface SkillToolArgs {
|
|
47
|
+
skill_name: string;
|
|
48
|
+
}
|
|
49
|
+
export interface SkillManagerOptions {
|
|
50
|
+
personalSkillsPath?: string;
|
|
51
|
+
scanTimeout?: number;
|
|
52
|
+
logger?: Logger;
|
|
53
|
+
}
|
|
54
|
+
export interface ParsedSkillFile {
|
|
55
|
+
frontmatter: SkillFrontmatter;
|
|
56
|
+
content: string;
|
|
57
|
+
skillMetadata: SkillMetadata;
|
|
58
|
+
validationErrors: string[];
|
|
59
|
+
isValid: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface SkillParseOptions {
|
|
62
|
+
validateMetadata?: boolean;
|
|
63
|
+
basePath?: string;
|
|
64
|
+
}
|
|
65
|
+
export declare const SKILL_DEFAULTS: {
|
|
66
|
+
readonly PERSONAL_SKILLS_DIR: ".wave/skills";
|
|
67
|
+
readonly PROJECT_SKILLS_DIR: ".wave/skills";
|
|
68
|
+
readonly SKILL_FILE_NAME: "SKILL.md";
|
|
69
|
+
readonly MAX_NAME_LENGTH: 64;
|
|
70
|
+
readonly MAX_DESCRIPTION_LENGTH: 1024;
|
|
71
|
+
readonly MIN_DESCRIPTION_LENGTH: 1;
|
|
72
|
+
readonly NAME_PATTERN: RegExp;
|
|
73
|
+
readonly MAX_METADATA_CACHE: 1000;
|
|
74
|
+
readonly MAX_CONTENT_CACHE: 100;
|
|
75
|
+
readonly SCAN_TIMEOUT: 5000;
|
|
76
|
+
readonly LOAD_TIMEOUT: 2000;
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=skills.d.ts.map
|
|
@@ -0,0 +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;CACjB;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,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill system types and constants
|
|
3
|
+
* Dependencies: Core (Logger)
|
|
4
|
+
*/
|
|
5
|
+
export const SKILL_DEFAULTS = {
|
|
6
|
+
PERSONAL_SKILLS_DIR: ".wave/skills",
|
|
7
|
+
PROJECT_SKILLS_DIR: ".wave/skills",
|
|
8
|
+
SKILL_FILE_NAME: "SKILL.md",
|
|
9
|
+
MAX_NAME_LENGTH: 64,
|
|
10
|
+
MAX_DESCRIPTION_LENGTH: 1024,
|
|
11
|
+
MIN_DESCRIPTION_LENGTH: 1,
|
|
12
|
+
NAME_PATTERN: /^[a-z0-9-]+$/,
|
|
13
|
+
MAX_METADATA_CACHE: 1000,
|
|
14
|
+
MAX_CONTENT_CACHE: 100,
|
|
15
|
+
SCAN_TIMEOUT: 5000,
|
|
16
|
+
LOAD_TIMEOUT: 2000,
|
|
17
|
+
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Configuration resolver utilities for Agent Constructor Configuration
|
|
3
3
|
* Resolves configuration from constructor arguments with environment fallbacks
|
|
4
4
|
*/
|
|
5
|
-
import { GatewayConfig, ModelConfig } from "../types.js";
|
|
5
|
+
import { GatewayConfig, ModelConfig } from "../types/index.js";
|
|
6
6
|
export declare class ConfigResolver {
|
|
7
7
|
/**
|
|
8
8
|
* Resolves gateway configuration from constructor args and environment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configResolver.d.ts","sourceRoot":"","sources":["../../src/utils/configResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,aAAa,EACb,WAAW,EAGZ,MAAM,
|
|
1
|
+
{"version":3,"file":"configResolver.d.ts","sourceRoot":"","sources":["../../src/utils/configResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,aAAa,EACb,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,cAAc;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,aAAa;IAuDhB;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CACvB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW;IAmBd;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;CAoB5D;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;CAI1B,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Configuration resolver utilities for Agent Constructor Configuration
|
|
3
3
|
* Resolves configuration from constructor arguments with environment fallbacks
|
|
4
4
|
*/
|
|
5
|
-
import { ConfigurationError, CONFIG_ERRORS, } from "../types.js";
|
|
5
|
+
import { ConfigurationError, CONFIG_ERRORS, } from "../types/index.js";
|
|
6
6
|
export class ConfigResolver {
|
|
7
7
|
/**
|
|
8
8
|
* Resolves gateway configuration from constructor args and environment
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Configuration validator utilities for Agent Constructor Configuration
|
|
3
3
|
* Validates configuration values for correctness and security
|
|
4
4
|
*/
|
|
5
|
-
import { GatewayConfig } from "../types.js";
|
|
5
|
+
import { GatewayConfig } from "../types/index.js";
|
|
6
6
|
export declare class ConfigValidator {
|
|
7
7
|
/**
|
|
8
8
|
* Validates gateway configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configValidator.d.ts","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"configValidator.d.ts","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,aAAa,EAGd,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,eAAe;IAC1B;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IA+CzD;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IA0BnD;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAyBxE;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;CAI3B,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Configuration validator utilities for Agent Constructor Configuration
|
|
3
3
|
* Validates configuration values for correctness and security
|
|
4
4
|
*/
|
|
5
|
-
import { ConfigurationError, CONFIG_ERRORS } from "../types.js";
|
|
5
|
+
import { ConfigurationError, CONFIG_ERRORS, } from "../types/index.js";
|
|
6
6
|
export class ConfigValidator {
|
|
7
7
|
/**
|
|
8
8
|
* Validates gateway configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertMessagesForAPI.d.ts","sourceRoot":"","sources":["../../src/utils/convertMessagesForAPI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"convertMessagesForAPI.d.ts","sourceRoot":"","sources":["../../src/utils/convertMessagesForAPI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,OAAO,EAEL,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAuB7B;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EAAE,GAClB,0BAA0B,EAAE,CA8L9B"}
|
|
@@ -139,14 +139,7 @@ export function convertMessagesForAPI(messages) {
|
|
|
139
139
|
if (block.type === "text" && block.content) {
|
|
140
140
|
contentParts.push({
|
|
141
141
|
type: "text",
|
|
142
|
-
text: block.content,
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
// Handle custom command blocks - pass full content as text to AI
|
|
146
|
-
if (block.type === "custom_command" && block.content) {
|
|
147
|
-
contentParts.push({
|
|
148
|
-
type: "text",
|
|
149
|
-
text: block.content,
|
|
142
|
+
text: block.customCommandContent || block.content,
|
|
150
143
|
});
|
|
151
144
|
}
|
|
152
145
|
// If there is an image, add image content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customCommands.d.ts","sourceRoot":"","sources":["../../src/utils/customCommands.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"customCommands.d.ts","sourceRoot":"","sources":["../../src/utils/customCommands.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AA6CD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAkB7E"}
|
|
@@ -4,12 +4,7 @@
|
|
|
4
4
|
* Provides pattern matching functionality for hook tool name matching.
|
|
5
5
|
* Supports exact matching, wildcard patterns, and pipe-separated alternatives.
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
8
|
-
matches(pattern: string, toolName: string): boolean;
|
|
9
|
-
isValidPattern(pattern: string): boolean;
|
|
10
|
-
getPatternType(pattern: string): "exact" | "glob" | "regex" | "alternatives";
|
|
11
|
-
}
|
|
12
|
-
export declare class HookMatcher implements IHookMatcher {
|
|
7
|
+
export declare class HookMatcher {
|
|
13
8
|
/**
|
|
14
9
|
* Test if pattern matches tool name
|
|
15
10
|
* Supports multiple matching strategies:
|
|
@@ -46,4 +41,4 @@ export declare class HookMatcher implements IHookMatcher {
|
|
|
46
41
|
*/
|
|
47
42
|
compile(pattern: string): (toolName: string) => boolean;
|
|
48
43
|
}
|
|
49
|
-
//# sourceMappingURL=
|
|
44
|
+
//# sourceMappingURL=hookMatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hookMatcher.d.ts","sourceRoot":"","sources":["../../src/utils/hookMatcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,qBAAa,WAAW;IACtB;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAYnD;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAoBxC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc;IA6B5E;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAI1D;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO;CAkCxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownParser.d.ts","sourceRoot":"","sources":["../../src/utils/markdownParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"markdownParser.d.ts","sourceRoot":"","sources":["../../src/utils/markdownParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAwDD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAsCtE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAgBA;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,EAAE,GAC3B,MAAM,CAcR"}
|
package/dist/utils/mcpUtils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChatCompletionFunctionTool } from "openai/resources.js";
|
|
2
2
|
import type { ToolPlugin } from "../tools/types.js";
|
|
3
|
-
import type { McpTool, McpServerStatus } from "../types.js";
|
|
3
|
+
import type { McpTool, McpServerStatus } from "../types/index.js";
|
|
4
4
|
/**
|
|
5
5
|
* Convert MCP tool to OpenAI function tool format
|
|
6
6
|
*/
|
|
@@ -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,
|
|
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;AAElE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,0BAA0B,CAa5B;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"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import type { Message, Usage } from "../types.js";
|
|
1
|
+
import type { Message, Usage, MessageSource } from "../types/index.js";
|
|
2
2
|
import { ChatCompletionMessageFunctionToolCall } from "openai/resources.js";
|
|
3
|
-
export interface
|
|
4
|
-
messages: Message[];
|
|
3
|
+
export interface UserMessageParams {
|
|
5
4
|
content: string;
|
|
6
5
|
images?: Array<{
|
|
7
6
|
path: string;
|
|
8
7
|
mimeType: string;
|
|
9
8
|
}>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
9
|
+
customCommandContent?: string;
|
|
10
|
+
source?: MessageSource;
|
|
11
|
+
}
|
|
12
|
+
export interface AddUserMessageParams extends UserMessageParams {
|
|
13
|
+
messages: Message[];
|
|
16
14
|
}
|
|
17
15
|
export interface UpdateToolBlockParams {
|
|
18
16
|
messages: Message[];
|
|
@@ -30,17 +28,7 @@ export interface UpdateToolBlockParams {
|
|
|
30
28
|
}>;
|
|
31
29
|
compactParams?: string;
|
|
32
30
|
}
|
|
33
|
-
export
|
|
34
|
-
toolId: string;
|
|
35
|
-
args?: string;
|
|
36
|
-
result?: string;
|
|
37
|
-
success?: boolean;
|
|
38
|
-
error?: string;
|
|
39
|
-
isRunning?: boolean;
|
|
40
|
-
name?: string;
|
|
41
|
-
shortResult?: string;
|
|
42
|
-
compactParams?: string;
|
|
43
|
-
}
|
|
31
|
+
export type AgentToolBlockUpdateParams = Omit<UpdateToolBlockParams, "messages">;
|
|
44
32
|
export interface AddDiffBlockParams {
|
|
45
33
|
messages: Message[];
|
|
46
34
|
path: string;
|
|
@@ -85,7 +73,7 @@ export declare const extractUserInputHistory: (messages: Message[]) => string[];
|
|
|
85
73
|
* @returns base64 format image data URL
|
|
86
74
|
*/
|
|
87
75
|
export declare const convertImageToBase64: (imagePath: string) => string;
|
|
88
|
-
export declare const addUserMessageToMessages: ({ messages, content, images,
|
|
76
|
+
export declare const addUserMessageToMessages: ({ messages, content, images, customCommandContent, source, }: AddUserMessageParams) => Message[];
|
|
89
77
|
export declare const addAssistantMessageToMessages: (messages: Message[], content?: string, toolCalls?: ChatCompletionMessageFunctionToolCall[], usage?: Usage) => Message[];
|
|
90
78
|
export declare const addDiffBlockToMessage: ({ messages, path, diffResult, }: AddDiffBlockParams) => Message[];
|
|
91
79
|
export declare const updateToolBlockInMessage: ({ messages, id, parameters, result, success, error, isRunning, name, shortResult, images, compactParams, }: UpdateToolBlockParams) => Message[];
|
|
@@ -133,4 +121,9 @@ export declare const updateSubagentBlockInMessage: (messages: Message[], subagen
|
|
|
133
121
|
status: "active" | "completed" | "error" | "aborted";
|
|
134
122
|
messages: Message[];
|
|
135
123
|
}>) => Message[];
|
|
124
|
+
/**
|
|
125
|
+
* Removes the last user message from the messages array
|
|
126
|
+
* Used for hook error handling when the user prompt needs to be erased
|
|
127
|
+
*/
|
|
128
|
+
export declare const removeLastUserMessage: (messages: Message[]) => Message[];
|
|
136
129
|
//# sourceMappingURL=messageOperations.d.ts.map
|
|
@@ -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,MAAM,
|
|
1
|
+
{"version":3,"file":"messageOperations.d.ts","sourceRoot":"","sources":["../../src/utils/messageOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,15 +57,16 @@ export const convertImageToBase64 = (imagePath) => {
|
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
59
|
// Add user message
|
|
60
|
-
export const addUserMessageToMessages = ({ messages, content, images,
|
|
60
|
+
export const addUserMessageToMessages = ({ messages, content, images, customCommandContent, source, }) => {
|
|
61
61
|
const blocks = [];
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
62
|
+
// Create text block with optional customCommandContent and source
|
|
63
|
+
const textBlock = {
|
|
64
|
+
type: "text",
|
|
65
|
+
content,
|
|
66
|
+
...(customCommandContent && { customCommandContent }),
|
|
67
|
+
...(source && { source }),
|
|
68
|
+
};
|
|
69
|
+
blocks.push(textBlock);
|
|
69
70
|
// If there are images, add image block
|
|
70
71
|
if (images && images.length > 0) {
|
|
71
72
|
const imageUrls = images.map((img) => img.path);
|
|
@@ -174,23 +175,23 @@ export const updateToolBlockInMessage = ({ messages, id, parameters, result, suc
|
|
|
174
175
|
// Add Error Block to the last assistant message
|
|
175
176
|
export const addErrorBlockToMessage = ({ messages, error, }) => {
|
|
176
177
|
const newMessages = [...messages];
|
|
177
|
-
//
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
178
|
+
// Check if the last message is an assistant message
|
|
179
|
+
const lastMessage = newMessages[newMessages.length - 1];
|
|
180
|
+
if (lastMessage && lastMessage.role === "assistant") {
|
|
181
|
+
// Create a new message object with the error block added
|
|
182
|
+
newMessages[newMessages.length - 1] = {
|
|
183
|
+
...lastMessage,
|
|
184
|
+
blocks: [
|
|
185
|
+
...lastMessage.blocks,
|
|
183
186
|
{
|
|
184
187
|
type: "error",
|
|
185
188
|
content: error,
|
|
186
189
|
},
|
|
187
|
-
]
|
|
188
|
-
|
|
189
|
-
break;
|
|
190
|
-
}
|
|
190
|
+
],
|
|
191
|
+
};
|
|
191
192
|
}
|
|
192
|
-
|
|
193
|
-
|
|
193
|
+
else {
|
|
194
|
+
// If the last message is not an assistant message, create a new assistant message
|
|
194
195
|
newMessages.push({
|
|
195
196
|
role: "assistant",
|
|
196
197
|
blocks: [
|
|
@@ -376,3 +377,19 @@ export const updateSubagentBlockInMessage = (messages, subagentId, updates) => {
|
|
|
376
377
|
}
|
|
377
378
|
return newMessages;
|
|
378
379
|
};
|
|
380
|
+
/**
|
|
381
|
+
* Removes the last user message from the messages array
|
|
382
|
+
* Used for hook error handling when the user prompt needs to be erased
|
|
383
|
+
*/
|
|
384
|
+
export const removeLastUserMessage = (messages) => {
|
|
385
|
+
const newMessages = [...messages];
|
|
386
|
+
// Find the index of the last user message
|
|
387
|
+
for (let i = newMessages.length - 1; i >= 0; i--) {
|
|
388
|
+
if (newMessages[i].role === "user") {
|
|
389
|
+
// Remove the user message at index i
|
|
390
|
+
newMessages.splice(i, 1);
|
|
391
|
+
break;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
return newMessages;
|
|
395
|
+
};
|