wave-agent-sdk 0.11.7 → 0.12.0
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/builtin/skills/settings/MODELS.md +67 -0
- package/builtin/skills/settings/SKILL.md +13 -7
- package/dist/agent.d.ts +10 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +16 -1
- package/dist/managers/aiManager.d.ts.map +1 -1
- package/dist/managers/aiManager.js +1 -0
- package/dist/managers/liveConfigManager.d.ts +2 -0
- package/dist/managers/liveConfigManager.d.ts.map +1 -1
- package/dist/managers/liveConfigManager.js +3 -0
- package/dist/managers/messageManager.d.ts +5 -1
- package/dist/managers/messageManager.d.ts.map +1 -1
- package/dist/managers/messageManager.js +28 -1
- package/dist/managers/slashCommandManager.d.ts.map +1 -1
- package/dist/managers/slashCommandManager.js +38 -41
- package/dist/managers/toolManager.d.ts +1 -0
- package/dist/managers/toolManager.d.ts.map +1 -1
- package/dist/services/aiService.d.ts.map +1 -1
- package/dist/services/aiService.js +30 -5
- package/dist/services/configurationService.d.ts +8 -0
- package/dist/services/configurationService.d.ts.map +1 -1
- package/dist/services/configurationService.js +67 -1
- package/dist/tools/skillTool.d.ts.map +1 -1
- package/dist/tools/skillTool.js +4 -1
- package/dist/tools/types.d.ts +1 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/types/agent.d.ts +3 -0
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/config.d.ts +1 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/configuration.d.ts +3 -0
- package/dist/types/configuration.d.ts.map +1 -1
- package/dist/types/messaging.d.ts +11 -2
- package/dist/types/messaging.d.ts.map +1 -1
- package/dist/utils/configValidator.d.ts +4 -5
- package/dist/utils/configValidator.d.ts.map +1 -1
- package/dist/utils/configValidator.js +4 -4
- package/dist/utils/containerSetup.d.ts.map +1 -1
- package/dist/utils/containerSetup.js +7 -1
- package/dist/utils/convertMessagesForAPI.d.ts.map +1 -1
- package/dist/utils/convertMessagesForAPI.js +16 -1
- package/dist/utils/messageOperations.d.ts +28 -3
- package/dist/utils/messageOperations.d.ts.map +1 -1
- package/dist/utils/messageOperations.js +79 -7
- package/package.json +1 -1
- package/src/agent.ts +18 -4
- package/src/managers/aiManager.ts +1 -0
- package/src/managers/liveConfigManager.ts +5 -1
- package/src/managers/messageManager.ts +40 -0
- package/src/managers/slashCommandManager.ts +39 -46
- package/src/managers/toolManager.ts +1 -0
- package/src/services/aiService.ts +58 -5
- package/src/services/configurationService.ts +81 -1
- package/src/tools/skillTool.ts +12 -2
- package/src/tools/types.ts +1 -0
- package/src/types/agent.ts +3 -0
- package/src/types/config.ts +1 -0
- package/src/types/configuration.ts +3 -0
- package/src/types/messaging.ts +12 -1
- package/src/utils/configValidator.ts +6 -4
- package/src/utils/containerSetup.ts +7 -1
- package/src/utils/convertMessagesForAPI.ts +17 -1
- package/src/utils/messageOperations.ts +111 -8
|
@@ -10,7 +10,6 @@ import { logger } from "./globalLogger.js";
|
|
|
10
10
|
export interface UserMessageParams {
|
|
11
11
|
content: string;
|
|
12
12
|
images?: Array<{ path: string; mimeType: string }>;
|
|
13
|
-
customCommandContent?: string;
|
|
14
13
|
source?: MessageSource;
|
|
15
14
|
isMeta?: boolean;
|
|
16
15
|
}
|
|
@@ -21,6 +20,26 @@ export interface AddUserMessageParams extends UserMessageParams {
|
|
|
21
20
|
id?: string;
|
|
22
21
|
}
|
|
23
22
|
|
|
23
|
+
export interface AddSlashParams {
|
|
24
|
+
messages: Message[];
|
|
25
|
+
command: string;
|
|
26
|
+
args?: string;
|
|
27
|
+
content?: string;
|
|
28
|
+
id?: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface UpdateSlashParams {
|
|
32
|
+
messages: Message[];
|
|
33
|
+
command: string;
|
|
34
|
+
messageId?: string;
|
|
35
|
+
args?: string;
|
|
36
|
+
content?: string;
|
|
37
|
+
result?: string;
|
|
38
|
+
stage?: "running" | "success" | "error" | "aborted";
|
|
39
|
+
error?: string;
|
|
40
|
+
shortResult?: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
24
43
|
export interface UpdateToolBlockParams {
|
|
25
44
|
messages: Message[];
|
|
26
45
|
id: string;
|
|
@@ -124,18 +143,16 @@ export const addUserMessageToMessages = ({
|
|
|
124
143
|
messages,
|
|
125
144
|
content,
|
|
126
145
|
images,
|
|
127
|
-
customCommandContent,
|
|
128
146
|
source,
|
|
129
147
|
id,
|
|
130
148
|
isMeta,
|
|
131
149
|
}: AddUserMessageParams): Message[] => {
|
|
132
150
|
const blocks: Message["blocks"] = [];
|
|
133
151
|
|
|
134
|
-
// Create text block with optional
|
|
152
|
+
// Create text block with optional source
|
|
135
153
|
const textBlock = {
|
|
136
154
|
type: "text" as const,
|
|
137
155
|
content,
|
|
138
|
-
...(customCommandContent && { customCommandContent }),
|
|
139
156
|
...(source && { source }),
|
|
140
157
|
};
|
|
141
158
|
blocks.push(textBlock);
|
|
@@ -159,7 +176,96 @@ export const addUserMessageToMessages = ({
|
|
|
159
176
|
};
|
|
160
177
|
|
|
161
178
|
/**
|
|
162
|
-
*
|
|
179
|
+
* Add a slash command message to the conversation.
|
|
180
|
+
*/
|
|
181
|
+
export const addSlashMessageToMessages = ({
|
|
182
|
+
messages,
|
|
183
|
+
command,
|
|
184
|
+
args,
|
|
185
|
+
content,
|
|
186
|
+
id,
|
|
187
|
+
}: AddSlashParams): Message[] => {
|
|
188
|
+
const slashMessage: Message = {
|
|
189
|
+
id: id || generateMessageId(),
|
|
190
|
+
role: "user",
|
|
191
|
+
blocks: [
|
|
192
|
+
{
|
|
193
|
+
type: "slash",
|
|
194
|
+
command,
|
|
195
|
+
args,
|
|
196
|
+
content,
|
|
197
|
+
stage: "running",
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
};
|
|
201
|
+
return [...messages, slashMessage];
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Update a slash block in a message.
|
|
206
|
+
*/
|
|
207
|
+
export const updateSlashBlockInMessage = ({
|
|
208
|
+
messages,
|
|
209
|
+
command,
|
|
210
|
+
messageId,
|
|
211
|
+
args,
|
|
212
|
+
content,
|
|
213
|
+
result,
|
|
214
|
+
stage,
|
|
215
|
+
error,
|
|
216
|
+
shortResult,
|
|
217
|
+
}: UpdateSlashParams): Message[] => {
|
|
218
|
+
const newMessages = [...messages];
|
|
219
|
+
|
|
220
|
+
// If messageId is provided, target that specific message
|
|
221
|
+
if (messageId) {
|
|
222
|
+
const messageIndex = newMessages.findIndex((msg) => msg.id === messageId);
|
|
223
|
+
if (messageIndex !== -1) {
|
|
224
|
+
const slashBlockIndex = newMessages[messageIndex].blocks.findIndex(
|
|
225
|
+
(block) => block.type === "slash" && block.command === command,
|
|
226
|
+
);
|
|
227
|
+
|
|
228
|
+
if (slashBlockIndex !== -1) {
|
|
229
|
+
const slashBlock = newMessages[messageIndex].blocks[slashBlockIndex];
|
|
230
|
+
if (slashBlock.type === "slash") {
|
|
231
|
+
if (args !== undefined) slashBlock.args = args;
|
|
232
|
+
if (content !== undefined) slashBlock.content = content;
|
|
233
|
+
if (result !== undefined) slashBlock.result = result;
|
|
234
|
+
if (stage !== undefined) slashBlock.stage = stage;
|
|
235
|
+
if (error !== undefined) slashBlock.error = error;
|
|
236
|
+
if (shortResult !== undefined) slashBlock.shortResult = shortResult;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
return newMessages;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// Find the last user message with a slash block for this command
|
|
244
|
+
for (let i = newMessages.length - 1; i >= 0; i--) {
|
|
245
|
+
const msg = newMessages[i];
|
|
246
|
+
if (msg.role === "user") {
|
|
247
|
+
const slashBlockIndex = msg.blocks.findIndex(
|
|
248
|
+
(block) => block.type === "slash" && block.command === command,
|
|
249
|
+
);
|
|
250
|
+
if (slashBlockIndex !== -1) {
|
|
251
|
+
const slashBlock = msg.blocks[slashBlockIndex];
|
|
252
|
+
if (slashBlock.type === "slash") {
|
|
253
|
+
if (args !== undefined) slashBlock.args = args;
|
|
254
|
+
if (content !== undefined) slashBlock.content = content;
|
|
255
|
+
if (result !== undefined) slashBlock.result = result;
|
|
256
|
+
if (stage !== undefined) slashBlock.stage = stage;
|
|
257
|
+
if (error !== undefined) slashBlock.error = error;
|
|
258
|
+
if (shortResult !== undefined) slashBlock.shortResult = shortResult;
|
|
259
|
+
}
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return newMessages;
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Update a user message's content by its ID.
|
|
163
269
|
*/
|
|
164
270
|
export const updateUserMessageInMessages = (
|
|
165
271
|
messages: Message[],
|
|
@@ -173,9 +279,6 @@ export const updateUserMessageInMessages = (
|
|
|
173
279
|
return {
|
|
174
280
|
...block,
|
|
175
281
|
...(params.content !== undefined && { content: params.content }),
|
|
176
|
-
...(params.customCommandContent !== undefined && {
|
|
177
|
-
customCommandContent: params.customCommandContent,
|
|
178
|
-
}),
|
|
179
282
|
...(params.source !== undefined && { source: params.source }),
|
|
180
283
|
};
|
|
181
284
|
}
|