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
|
@@ -9,16 +9,25 @@ import { grepTool } from "../tools/grepTool.js";
|
|
|
9
9
|
import { lsTool } from "../tools/lsTool.js";
|
|
10
10
|
import { readTool } from "../tools/readTool.js";
|
|
11
11
|
import { todoWriteTool } from "../tools/todoWriteTool.js";
|
|
12
|
+
import { lspTool } from "../tools/lspTool.js";
|
|
12
13
|
import { createTaskTool } from "../tools/taskTool.js";
|
|
13
14
|
import { createSkillTool } from "../tools/skillTool.js";
|
|
14
15
|
/**
|
|
15
16
|
* Tool Manager
|
|
17
|
+
*
|
|
18
|
+
* Manages tool registration and execution with optional permission system integration.
|
|
19
|
+
* Supports both built-in tools and MCP (Model Context Protocol) tools.
|
|
16
20
|
*/
|
|
17
21
|
class ToolManager {
|
|
18
22
|
constructor(options) {
|
|
19
23
|
this.tools = new Map();
|
|
20
24
|
this.mcpManager = options.mcpManager;
|
|
25
|
+
this.lspManager = options.lspManager;
|
|
21
26
|
this.logger = options.logger;
|
|
27
|
+
this.permissionManager = options.permissionManager;
|
|
28
|
+
// Store CLI permission mode, let PermissionManager resolve effective mode
|
|
29
|
+
this.permissionMode = options.permissionMode;
|
|
30
|
+
this.canUseToolCallback = options.canUseToolCallback;
|
|
22
31
|
}
|
|
23
32
|
/**
|
|
24
33
|
* Register a new tool
|
|
@@ -63,6 +72,7 @@ class ToolManager {
|
|
|
63
72
|
lsTool,
|
|
64
73
|
readTool,
|
|
65
74
|
todoWriteTool,
|
|
75
|
+
lspTool,
|
|
66
76
|
];
|
|
67
77
|
for (const tool of builtInTools) {
|
|
68
78
|
this.tools.set(tool.name, tool);
|
|
@@ -77,18 +87,55 @@ class ToolManager {
|
|
|
77
87
|
this.tools.set(skillTool.name, skillTool);
|
|
78
88
|
}
|
|
79
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Execute a tool by name with the provided arguments and context
|
|
92
|
+
*
|
|
93
|
+
* Enhances the context with permission-related fields before execution:
|
|
94
|
+
* - permissionMode: The current permission mode (default or bypassPermissions)
|
|
95
|
+
* - canUseToolCallback: Custom permission callback if provided
|
|
96
|
+
* - permissionManager: The PermissionManager instance for permission checks
|
|
97
|
+
*
|
|
98
|
+
* @param name - Name of the tool to execute
|
|
99
|
+
* @param args - Arguments to pass to the tool
|
|
100
|
+
* @param context - Execution context for the tool
|
|
101
|
+
* @returns Promise resolving to the tool execution result
|
|
102
|
+
*/
|
|
80
103
|
async execute(name, args, context) {
|
|
104
|
+
// Resolve effective permission mode (CLI override > configuration > default)
|
|
105
|
+
const effectivePermissionMode = this.permissionManager
|
|
106
|
+
? this.permissionManager.getCurrentEffectiveMode(this.permissionMode)
|
|
107
|
+
: this.permissionMode || "default";
|
|
108
|
+
// Enhance context with permission-related fields
|
|
109
|
+
const enhancedContext = {
|
|
110
|
+
...context,
|
|
111
|
+
permissionMode: effectivePermissionMode,
|
|
112
|
+
canUseToolCallback: this.canUseToolCallback,
|
|
113
|
+
permissionManager: this.permissionManager,
|
|
114
|
+
mcpManager: this.mcpManager,
|
|
115
|
+
lspManager: this.lspManager,
|
|
116
|
+
};
|
|
117
|
+
this.logger?.debug("Executing tool with enhanced context", {
|
|
118
|
+
toolName: name,
|
|
119
|
+
cliPermissionMode: this.permissionMode,
|
|
120
|
+
effectivePermissionMode,
|
|
121
|
+
hasPermissionManager: !!this.permissionManager,
|
|
122
|
+
hasPermissionCallback: !!this.canUseToolCallback,
|
|
123
|
+
});
|
|
81
124
|
// Check if it's an MCP tool first
|
|
82
125
|
if (this.mcpManager.isMcpTool(name)) {
|
|
83
|
-
return this.mcpManager.executeMcpToolByRegistry(name, args,
|
|
126
|
+
return this.mcpManager.executeMcpToolByRegistry(name, args, enhancedContext);
|
|
84
127
|
}
|
|
85
128
|
// Check built-in tools
|
|
86
129
|
const plugin = this.tools.get(name);
|
|
87
130
|
if (plugin) {
|
|
88
131
|
try {
|
|
89
|
-
return await plugin.execute(args,
|
|
132
|
+
return await plugin.execute(args, enhancedContext);
|
|
90
133
|
}
|
|
91
134
|
catch (error) {
|
|
135
|
+
this.logger?.error("Tool execution failed", {
|
|
136
|
+
toolName: name,
|
|
137
|
+
error: error instanceof Error ? error.message : String(error),
|
|
138
|
+
});
|
|
92
139
|
return {
|
|
93
140
|
success: false,
|
|
94
141
|
content: "",
|
|
@@ -96,6 +143,7 @@ class ToolManager {
|
|
|
96
143
|
};
|
|
97
144
|
}
|
|
98
145
|
}
|
|
146
|
+
this.logger?.warn("Tool not found", { toolName: name });
|
|
99
147
|
return {
|
|
100
148
|
success: false,
|
|
101
149
|
content: "",
|
|
@@ -112,6 +160,22 @@ class ToolManager {
|
|
|
112
160
|
const mcpToolsConfig = this.mcpManager.getMcpToolsConfig();
|
|
113
161
|
return [...builtInToolsConfig, ...mcpToolsConfig];
|
|
114
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Get the current permission mode
|
|
165
|
+
*/
|
|
166
|
+
getPermissionMode() {
|
|
167
|
+
if (this.permissionManager) {
|
|
168
|
+
return this.permissionManager.getCurrentEffectiveMode(this.permissionMode);
|
|
169
|
+
}
|
|
170
|
+
return this.permissionMode || "default";
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Set the permission mode
|
|
174
|
+
* @param mode - The new permission mode
|
|
175
|
+
*/
|
|
176
|
+
setPermissionMode(mode) {
|
|
177
|
+
this.permissionMode = mode;
|
|
178
|
+
}
|
|
115
179
|
}
|
|
116
180
|
// Export tool registry class and types
|
|
117
181
|
export { ToolManager };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ChatCompletionMessageToolCall } from "openai/resources";
|
|
2
2
|
import { ChatCompletionMessageParam, ChatCompletionFunctionTool } from "openai/resources.js";
|
|
3
3
|
import type { GatewayConfig, ModelConfig } from "../types/index.js";
|
|
4
|
+
import { type ClaudeUsage } from "../utils/cacheControlUtils.js";
|
|
4
5
|
export interface CallAgentOptions {
|
|
5
6
|
gatewayConfig: GatewayConfig;
|
|
6
7
|
modelConfig: ModelConfig;
|
|
@@ -12,15 +13,24 @@ export interface CallAgentOptions {
|
|
|
12
13
|
tools?: ChatCompletionFunctionTool[];
|
|
13
14
|
model?: string;
|
|
14
15
|
systemPrompt?: string;
|
|
16
|
+
onContentUpdate?: (content: string) => void;
|
|
17
|
+
onToolUpdate?: (toolCall: {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
parameters: string;
|
|
21
|
+
parametersChunk?: string;
|
|
22
|
+
stage?: "start" | "streaming" | "running" | "end";
|
|
23
|
+
}) => void;
|
|
24
|
+
onReasoningUpdate?: (content: string) => void;
|
|
15
25
|
}
|
|
16
26
|
export interface CallAgentResult {
|
|
17
27
|
content?: string;
|
|
18
28
|
tool_calls?: ChatCompletionMessageToolCall[];
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
29
|
+
reasoning_content?: string;
|
|
30
|
+
usage?: ClaudeUsage;
|
|
31
|
+
finish_reason?: "stop" | "length" | "tool_calls" | "content_filter" | "function_call" | null;
|
|
32
|
+
response_headers?: Record<string, string>;
|
|
33
|
+
additionalFields?: Record<string, unknown>;
|
|
24
34
|
}
|
|
25
35
|
export declare function callAgent(options: CallAgentOptions): Promise<CallAgentResult>;
|
|
26
36
|
export interface CompressMessagesOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiService.d.ts","sourceRoot":"","sources":["../../src/services/aiService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"aiService.d.ts","sourceRoot":"","sources":["../../src/services/aiService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAGL,0BAA0B,EAC1B,0BAA0B,EAE3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAqGvC,MAAM,WAAW,gBAAgB;IAE/B,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IAGzB,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;KACnD,KAAK,IAAI,CAAC;IACX,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EACV,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA2U1B;AA4OD,MAAM,WAAW,uBAAuB;IAEtC,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IAGzB,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CA8JjC"}
|