@synergenius/flow-weaver-pack-weaver 0.9.3 → 0.9.5
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/bot/ansi.d.ts +13 -0
- package/dist/bot/ansi.d.ts.map +1 -0
- package/dist/bot/ansi.js +13 -0
- package/dist/bot/ansi.js.map +1 -0
- package/dist/bot/assistant-core.d.ts.map +1 -1
- package/dist/bot/assistant-core.js +68 -32
- package/dist/bot/assistant-core.js.map +1 -1
- package/dist/bot/assistant-tools.d.ts +3 -2
- package/dist/bot/assistant-tools.d.ts.map +1 -1
- package/dist/bot/assistant-tools.js +6 -284
- package/dist/bot/assistant-tools.js.map +1 -1
- package/dist/bot/conversation-store.d.ts.map +1 -1
- package/dist/bot/conversation-store.js +1 -1
- package/dist/bot/conversation-store.js.map +1 -1
- package/dist/bot/error-classifier.d.ts +27 -0
- package/dist/bot/error-classifier.d.ts.map +1 -0
- package/dist/bot/error-classifier.js +71 -0
- package/dist/bot/error-classifier.js.map +1 -0
- package/dist/bot/error-guide.d.ts +2 -7
- package/dist/bot/error-guide.d.ts.map +1 -1
- package/dist/bot/error-guide.js +2 -31
- package/dist/bot/error-guide.js.map +1 -1
- package/dist/bot/paths.d.ts +11 -0
- package/dist/bot/paths.d.ts.map +1 -0
- package/dist/bot/paths.js +26 -0
- package/dist/bot/paths.js.map +1 -0
- package/dist/bot/response-formatter.d.ts +15 -0
- package/dist/bot/response-formatter.d.ts.map +1 -0
- package/dist/bot/response-formatter.js +40 -0
- package/dist/bot/response-formatter.js.map +1 -0
- package/dist/bot/retry-utils.d.ts +2 -16
- package/dist/bot/retry-utils.d.ts.map +1 -1
- package/dist/bot/retry-utils.js +2 -61
- package/dist/bot/retry-utils.js.map +1 -1
- package/dist/bot/rich-input.d.ts +39 -0
- package/dist/bot/rich-input.d.ts.map +1 -0
- package/dist/bot/rich-input.js +308 -0
- package/dist/bot/rich-input.js.map +1 -0
- package/dist/bot/safety.d.ts +10 -0
- package/dist/bot/safety.d.ts.map +1 -0
- package/dist/bot/safety.js +14 -0
- package/dist/bot/safety.js.map +1 -0
- package/dist/bot/slash-commands.d.ts +20 -0
- package/dist/bot/slash-commands.d.ts.map +1 -0
- package/dist/bot/slash-commands.js +93 -0
- package/dist/bot/slash-commands.js.map +1 -0
- package/dist/bot/steering.js +2 -2
- package/dist/bot/steering.js.map +1 -1
- package/dist/bot/task-queue.d.ts.map +1 -1
- package/dist/bot/task-queue.js +2 -15
- package/dist/bot/task-queue.js.map +1 -1
- package/dist/bot/terminal-renderer.d.ts.map +1 -1
- package/dist/bot/terminal-renderer.js +12 -13
- package/dist/bot/terminal-renderer.js.map +1 -1
- package/dist/bot/tool-registry.d.ts +24 -0
- package/dist/bot/tool-registry.d.ts.map +1 -0
- package/dist/bot/tool-registry.js +458 -0
- package/dist/bot/tool-registry.js.map +1 -0
- package/dist/bot/weaver-tools.d.ts +2 -2
- package/dist/bot/weaver-tools.d.ts.map +1 -1
- package/dist/bot/weaver-tools.js +4 -95
- package/dist/bot/weaver-tools.js.map +1 -1
- package/dist/cli-handlers.d.ts.map +1 -1
- package/dist/cli-handlers.js +1 -2
- package/dist/cli-handlers.js.map +1 -1
- package/dist/node-types/agent-execute.d.ts.map +1 -1
- package/dist/node-types/agent-execute.js +4 -8
- package/dist/node-types/agent-execute.js.map +1 -1
- package/flowweaver.manifest.json +1 -1
- package/package.json +1 -1
- package/src/bot/ansi.ts +12 -0
- package/src/bot/assistant-core.ts +70 -33
- package/src/bot/assistant-tools.ts +7 -294
- package/src/bot/conversation-store.ts +1 -1
- package/src/bot/error-classifier.ts +90 -0
- package/src/bot/error-guide.ts +2 -32
- package/src/bot/paths.ts +27 -0
- package/src/bot/response-formatter.ts +42 -0
- package/src/bot/retry-utils.ts +2 -74
- package/src/bot/rich-input.ts +307 -0
- package/src/bot/safety.ts +16 -0
- package/src/bot/slash-commands.ts +114 -0
- package/src/bot/steering.ts +2 -2
- package/src/bot/task-queue.ts +2 -16
- package/src/bot/terminal-renderer.ts +11 -14
- package/src/bot/tool-registry.ts +477 -0
- package/src/bot/weaver-tools.ts +4 -95
- package/src/cli-handlers.ts +1 -2
- package/src/node-types/agent-execute.ts +3 -6
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared ANSI color helpers — single source of truth.
|
|
3
|
+
*/
|
|
4
|
+
export declare const c: {
|
|
5
|
+
green: (s: string) => string;
|
|
6
|
+
red: (s: string) => string;
|
|
7
|
+
yellow: (s: string) => string;
|
|
8
|
+
cyan: (s: string) => string;
|
|
9
|
+
dim: (s: string) => string;
|
|
10
|
+
bold: (s: string) => string;
|
|
11
|
+
redBold: (s: string) => string;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=ansi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/bot/ansi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,CAAC;eACD,MAAM;aACR,MAAM;gBACH,MAAM;cACR,MAAM;aACP,MAAM;cACL,MAAM;iBACH,MAAM;CACpB,CAAC"}
|
package/dist/bot/ansi.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared ANSI color helpers — single source of truth.
|
|
3
|
+
*/
|
|
4
|
+
export const c = {
|
|
5
|
+
green: (s) => `\x1b[32m${s}\x1b[0m`,
|
|
6
|
+
red: (s) => `\x1b[31m${s}\x1b[0m`,
|
|
7
|
+
yellow: (s) => `\x1b[33m${s}\x1b[0m`,
|
|
8
|
+
cyan: (s) => `\x1b[36m${s}\x1b[0m`,
|
|
9
|
+
dim: (s) => `\x1b[2m${s}\x1b[0m`,
|
|
10
|
+
bold: (s) => `\x1b[1m${s}\x1b[0m`,
|
|
11
|
+
redBold: (s) => `\x1b[1;31m${s}\x1b[0m`,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=ansi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/bot/ansi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;IAC3C,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;IACzC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;IAC5C,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;IAC1C,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS;IACxC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS;IACzC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS;CAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-core.d.ts","sourceRoot":"","sources":["../../src/bot/assistant-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"assistant-core.d.ts","sourceRoot":"","sources":["../../src/bot/assistant-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,YAAY,EAElB,MAAM,gCAAgC,CAAC;AAMxC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAkCD,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsMxE"}
|
|
@@ -7,17 +7,18 @@
|
|
|
7
7
|
* - CLI provider: tools handled internally via MCP bridge (tool_result events)
|
|
8
8
|
* - API provider: tools collected and executed manually (tool_use_start/end events)
|
|
9
9
|
*/
|
|
10
|
-
import * as
|
|
10
|
+
import * as path from 'node:path';
|
|
11
|
+
import * as os from 'node:os';
|
|
11
12
|
import { runAgentLoop, } from '@synergenius/flow-weaver/agent';
|
|
13
|
+
import { c } from './ansi.js';
|
|
14
|
+
import { VERBOSE_TOOL_NAMES } from './tool-registry.js';
|
|
15
|
+
import { generateToolPromptSection, generateVerboseToolList } from './tool-registry.js';
|
|
16
|
+
import { CHARS_PER_TOKEN } from './safety.js';
|
|
12
17
|
const DEFAULT_SYSTEM_PROMPT = `You are Weaver Assistant — a director-level AI that manages bot workers and the flow-weaver ecosystem.
|
|
13
18
|
|
|
14
|
-
You help users:
|
|
15
|
-
1. Spawn and manage multiple bot sessions (bot_spawn, bot_list, bot_status, bot_pause, bot_resume, bot_stop, bot_logs)
|
|
16
|
-
2. Queue tasks for bots (queue_add, queue_add_batch, queue_list, queue_retry)
|
|
17
|
-
3. Inspect workflows (fw_validate, fw_diagram, fw_describe)
|
|
18
|
-
4. Read and analyze project files (read_file, list_files, run_shell)
|
|
19
|
-
5. Generate reports on bot progress and costs
|
|
19
|
+
You help users with the following tools (grouped by category):
|
|
20
20
|
|
|
21
|
+
${generateToolPromptSection()}
|
|
21
22
|
USE TOOLS to fulfill requests. Don't describe what you'd do — actually do it.
|
|
22
23
|
When the user asks to "start a bot", call bot_spawn.
|
|
23
24
|
When they ask for status, call bot_list or bot_status.
|
|
@@ -33,15 +34,16 @@ CRITICAL: You are running in a terminal. Do NOT use markdown formatting.
|
|
|
33
34
|
- Use UPPERCASE or quotes for emphasis instead of markdown
|
|
34
35
|
- For lists, use simple dashes: - item
|
|
35
36
|
- For key-value pairs, use: key: value (one per line)
|
|
36
|
-
- Keep output scannable and clean
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
- Keep output scannable and clean
|
|
38
|
+
|
|
39
|
+
IMPORTANT: Some tool results are displayed DIRECTLY to the user in the terminal.
|
|
40
|
+
These tools show FULL output — the user already sees everything:
|
|
41
|
+
${generateVerboseToolList()}
|
|
42
|
+
For these: do NOT repeat, summarize, or reformat the output. Just add a brief comment if needed.
|
|
43
|
+
Never re-type ASCII art, diagrams, or large text blocks that were already printed.
|
|
44
|
+
|
|
45
|
+
Other tools show only a short preview.
|
|
46
|
+
For those: you may summarize or explain the result as needed.`;
|
|
45
47
|
export async function runAssistant(opts) {
|
|
46
48
|
const { provider, tools, executor, projectDir } = opts;
|
|
47
49
|
// Build system prompt — include project plan if it exists
|
|
@@ -97,21 +99,26 @@ export async function runAssistant(opts) {
|
|
|
97
99
|
else {
|
|
98
100
|
out(` ${c.dim(`Conversation: ${conversation.id}`)}\n`);
|
|
99
101
|
}
|
|
100
|
-
out(` ${c.dim('Type your request. Ctrl+C to exit.')}\n\n`);
|
|
101
|
-
//
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
out(` ${c.dim('Type your request. Ctrl+C to exit. /help for commands.')}\n\n`);
|
|
103
|
+
// Rich input with history, arrows, tab completion, slash commands
|
|
104
|
+
const { RichInput } = await import('./rich-input.js');
|
|
105
|
+
const { getSlashCompletions, handleSlashCommand } = await import('./slash-commands.js');
|
|
106
|
+
const { formatResponse } = await import('./response-formatter.js');
|
|
107
|
+
const richInput = opts.inputMessages ? null : new RichInput({
|
|
108
|
+
historyFile: path.join(os.homedir(), '.weaver', 'input-history.txt'),
|
|
109
|
+
prompt: `${c.cyan('❯')} `,
|
|
110
|
+
completionProvider: (partial) => {
|
|
111
|
+
if (partial.startsWith('/'))
|
|
112
|
+
return getSlashCompletions(partial);
|
|
113
|
+
return [];
|
|
114
|
+
},
|
|
115
|
+
});
|
|
105
116
|
const getNextInput = opts.inputMessages
|
|
106
117
|
? (() => {
|
|
107
118
|
let i = 0;
|
|
108
119
|
return () => Promise.resolve(opts.inputMessages[i++] ?? null);
|
|
109
120
|
})()
|
|
110
|
-
: () =>
|
|
111
|
-
rl.prompt();
|
|
112
|
-
rl.once('line', (line) => resolve(line.trim() || null));
|
|
113
|
-
rl.once('close', () => resolve(null));
|
|
114
|
-
});
|
|
121
|
+
: () => richInput.getInput();
|
|
115
122
|
const onStreamEvent = (event) => {
|
|
116
123
|
if (event.type === 'text_delta') {
|
|
117
124
|
out(event.text);
|
|
@@ -127,18 +134,49 @@ export async function runAssistant(opts) {
|
|
|
127
134
|
}
|
|
128
135
|
if (event.type === 'tool_call_result') {
|
|
129
136
|
const icon = event.isError ? c.red('✗') : c.dim('→');
|
|
130
|
-
const
|
|
131
|
-
|
|
137
|
+
const raw = event.result ?? '';
|
|
138
|
+
// Show full output for diagram/describe/docs tools; truncate others
|
|
139
|
+
const isVerboseTool = VERBOSE_TOOL_NAMES.has(event.name);
|
|
140
|
+
if (isVerboseTool && raw.length > 150) {
|
|
141
|
+
out(` ${icon}\n${raw}\n`);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
const result = raw.replace(/\n/g, ' ').slice(0, 200);
|
|
145
|
+
out(` ${icon} ${result}\n`);
|
|
146
|
+
}
|
|
132
147
|
}
|
|
133
148
|
};
|
|
149
|
+
// Slash command context
|
|
150
|
+
let shouldExit = false;
|
|
151
|
+
const slashCtx = {
|
|
152
|
+
executor,
|
|
153
|
+
out,
|
|
154
|
+
projectDir,
|
|
155
|
+
conversationId: conversation.id,
|
|
156
|
+
onClear: () => { history.length = 0; },
|
|
157
|
+
onExit: () => { shouldExit = true; },
|
|
158
|
+
onNew: () => { history.length = 0; conversation = store.create(projectDir); },
|
|
159
|
+
onVerbose: () => { out(` ${c.dim('Verbose toggling not yet wired to streaming.')}\n`); },
|
|
160
|
+
};
|
|
134
161
|
// Main conversation loop
|
|
135
|
-
while (
|
|
162
|
+
while (!shouldExit) {
|
|
136
163
|
const input = await getNextInput();
|
|
137
164
|
if (input === null)
|
|
138
165
|
break;
|
|
139
166
|
if (!input.trim())
|
|
140
167
|
continue;
|
|
168
|
+
// Handle slash commands
|
|
169
|
+
if (input.startsWith('/')) {
|
|
170
|
+
const handled = await handleSlashCommand(input, slashCtx);
|
|
171
|
+
if (handled)
|
|
172
|
+
continue;
|
|
173
|
+
// Unknown slash command — tell user
|
|
174
|
+
out(` ${c.dim('Unknown command. Type /help for available commands.')}\n\n`);
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
141
177
|
out('\n');
|
|
178
|
+
// Reset Ctrl+C counter after successful input
|
|
179
|
+
richInput?.resetCtrlC();
|
|
142
180
|
// Add user message to history
|
|
143
181
|
history.push({ role: 'user', content: input });
|
|
144
182
|
try {
|
|
@@ -184,7 +222,7 @@ export async function runAssistant(opts) {
|
|
|
184
222
|
}
|
|
185
223
|
out('\n');
|
|
186
224
|
}
|
|
187
|
-
|
|
225
|
+
richInput?.destroy();
|
|
188
226
|
out(`\n ${c.dim('Goodbye.')}\n\n`);
|
|
189
227
|
}
|
|
190
228
|
function toolPreview(name, args) {
|
|
@@ -203,8 +241,6 @@ function toolPreview(name, args) {
|
|
|
203
241
|
return '';
|
|
204
242
|
}
|
|
205
243
|
// --- Token-aware history compression ---
|
|
206
|
-
// Rough token estimate: ~4 chars per token for English text
|
|
207
|
-
const CHARS_PER_TOKEN = 4;
|
|
208
244
|
// Budget: leave room for system prompt (~2k) + tools (~3k) + response (~4k)
|
|
209
245
|
const MAX_HISTORY_TOKENS = 80_000;
|
|
210
246
|
// When compressing, truncate tool results to this size
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-core.js","sourceRoot":"","sources":["../../src/bot/assistant-core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assistant-core.js","sourceRoot":"","sources":["../../src/bot/assistant-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* These are the tools the AI assistant uses to manage bots,
|
|
4
4
|
* queues, and the flow-weaver ecosystem.
|
|
5
5
|
*/
|
|
6
|
-
import type {
|
|
7
|
-
|
|
6
|
+
import type { ToolExecutor } from '@synergenius/flow-weaver/agent';
|
|
7
|
+
import { ASSISTANT_TOOLS } from './tool-registry.js';
|
|
8
|
+
export { ASSISTANT_TOOLS };
|
|
8
9
|
export declare function createAssistantExecutor(projectDir: string): ToolExecutor;
|
|
9
10
|
//# sourceMappingURL=assistant-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-tools.d.ts","sourceRoot":"","sources":["../../src/bot/assistant-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"assistant-tools.d.ts","sourceRoot":"","sources":["../../src/bot/assistant-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAMnF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,CAAC;AAS3B,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAqSxE"}
|
|
@@ -8,6 +8,9 @@ import { execFileSync } from 'node:child_process';
|
|
|
8
8
|
import * as fs from 'node:fs';
|
|
9
9
|
import * as os from 'node:os';
|
|
10
10
|
import * as path from 'node:path';
|
|
11
|
+
import { ASSISTANT_TOOLS } from './tool-registry.js';
|
|
12
|
+
import { isBlockedCommand, isBlockedUrl } from './safety.js';
|
|
13
|
+
export { ASSISTANT_TOOLS };
|
|
11
14
|
// Shared bot manager instance
|
|
12
15
|
let manager = null;
|
|
13
16
|
function getManager() {
|
|
@@ -15,286 +18,6 @@ function getManager() {
|
|
|
15
18
|
manager = new BotManager();
|
|
16
19
|
return manager;
|
|
17
20
|
}
|
|
18
|
-
export const ASSISTANT_TOOLS = [
|
|
19
|
-
// Bot management
|
|
20
|
-
{
|
|
21
|
-
name: 'bot_spawn',
|
|
22
|
-
description: 'Start a new bot session. Returns the bot name and status.',
|
|
23
|
-
inputSchema: {
|
|
24
|
-
type: 'object',
|
|
25
|
-
properties: {
|
|
26
|
-
name: { type: 'string', description: 'Unique name for this bot (e.g. "fix-templates")' },
|
|
27
|
-
project_dir: { type: 'string', description: 'Project directory for the bot to work in' },
|
|
28
|
-
parallel: { type: 'number', description: 'Number of parallel tasks (1-5, default 1)' },
|
|
29
|
-
deadline: { type: 'string', description: 'Stop time in HH:MM format (optional)' },
|
|
30
|
-
branch: { type: 'string', description: 'Git branch for commits (keeps main clean, good for overnight runs)' },
|
|
31
|
-
},
|
|
32
|
-
required: ['name'],
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: 'bot_list',
|
|
37
|
-
description: 'List all bot sessions with their status, task counts, and cost.',
|
|
38
|
-
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
name: 'bot_status',
|
|
42
|
-
description: 'Get detailed status of a specific bot including queue and recent activity.',
|
|
43
|
-
inputSchema: {
|
|
44
|
-
type: 'object',
|
|
45
|
-
properties: { name: { type: 'string', description: 'Bot name' } },
|
|
46
|
-
required: ['name'],
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: 'bot_pause',
|
|
51
|
-
description: 'Pause a running bot. It will finish its current task then wait.',
|
|
52
|
-
inputSchema: {
|
|
53
|
-
type: 'object',
|
|
54
|
-
properties: { name: { type: 'string', description: 'Bot name' } },
|
|
55
|
-
required: ['name'],
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
name: 'bot_resume',
|
|
60
|
-
description: 'Resume a paused bot.',
|
|
61
|
-
inputSchema: {
|
|
62
|
-
type: 'object',
|
|
63
|
-
properties: { name: { type: 'string', description: 'Bot name' } },
|
|
64
|
-
required: ['name'],
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
name: 'bot_stop',
|
|
69
|
-
description: 'Gracefully stop a bot (finishes current task, then exits).',
|
|
70
|
-
inputSchema: {
|
|
71
|
-
type: 'object',
|
|
72
|
-
properties: { name: { type: 'string', description: 'Bot name' } },
|
|
73
|
-
required: ['name'],
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
name: 'bot_logs',
|
|
78
|
-
description: 'Get recent output log from a bot.',
|
|
79
|
-
inputSchema: {
|
|
80
|
-
type: 'object',
|
|
81
|
-
properties: {
|
|
82
|
-
name: { type: 'string', description: 'Bot name' },
|
|
83
|
-
lines: { type: 'number', description: 'Number of lines to return (default 30)' },
|
|
84
|
-
},
|
|
85
|
-
required: ['name'],
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
// Queue management
|
|
89
|
-
{
|
|
90
|
-
name: 'queue_add',
|
|
91
|
-
description: 'Add a task to a bot\'s queue.',
|
|
92
|
-
inputSchema: {
|
|
93
|
-
type: 'object',
|
|
94
|
-
properties: {
|
|
95
|
-
bot: { type: 'string', description: 'Bot name' },
|
|
96
|
-
instruction: { type: 'string', description: 'Task instruction' },
|
|
97
|
-
targets: { type: 'array', items: { type: 'string' }, description: 'Target files (optional)' },
|
|
98
|
-
},
|
|
99
|
-
required: ['bot', 'instruction'],
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'queue_add_batch',
|
|
104
|
-
description: 'Add multiple tasks to a bot\'s queue at once.',
|
|
105
|
-
inputSchema: {
|
|
106
|
-
type: 'object',
|
|
107
|
-
properties: {
|
|
108
|
-
bot: { type: 'string', description: 'Bot name' },
|
|
109
|
-
tasks: {
|
|
110
|
-
type: 'array',
|
|
111
|
-
items: {
|
|
112
|
-
type: 'object',
|
|
113
|
-
properties: {
|
|
114
|
-
instruction: { type: 'string' },
|
|
115
|
-
targets: { type: 'array', items: { type: 'string' } },
|
|
116
|
-
},
|
|
117
|
-
required: ['instruction'],
|
|
118
|
-
},
|
|
119
|
-
description: 'Array of tasks to add',
|
|
120
|
-
},
|
|
121
|
-
},
|
|
122
|
-
required: ['bot', 'tasks'],
|
|
123
|
-
},
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
name: 'queue_list',
|
|
127
|
-
description: 'List all tasks in a bot\'s queue with their status.',
|
|
128
|
-
inputSchema: {
|
|
129
|
-
type: 'object',
|
|
130
|
-
properties: { bot: { type: 'string', description: 'Bot name' } },
|
|
131
|
-
required: ['bot'],
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
name: 'queue_retry',
|
|
136
|
-
description: 'Reset all failed tasks in a bot\'s queue to pending.',
|
|
137
|
-
inputSchema: {
|
|
138
|
-
type: 'object',
|
|
139
|
-
properties: { bot: { type: 'string', description: 'Bot name' } },
|
|
140
|
-
required: ['bot'],
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
// Flow-weaver tools
|
|
144
|
-
{
|
|
145
|
-
name: 'fw_validate',
|
|
146
|
-
description: 'Validate a workflow or directory of workflows. Returns errors and warnings.',
|
|
147
|
-
inputSchema: {
|
|
148
|
-
type: 'object',
|
|
149
|
-
properties: { path: { type: 'string', description: 'File or directory path' } },
|
|
150
|
-
required: ['path'],
|
|
151
|
-
},
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
name: 'fw_diagram',
|
|
155
|
-
description: 'Generate a text diagram of a workflow.',
|
|
156
|
-
inputSchema: {
|
|
157
|
-
type: 'object',
|
|
158
|
-
properties: { file: { type: 'string', description: 'Workflow file path' } },
|
|
159
|
-
required: ['file'],
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
name: 'fw_describe',
|
|
164
|
-
description: 'Get a natural language description of a workflow.',
|
|
165
|
-
inputSchema: {
|
|
166
|
-
type: 'object',
|
|
167
|
-
properties: { file: { type: 'string', description: 'Workflow file path' } },
|
|
168
|
-
required: ['file'],
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
name: 'fw_docs',
|
|
173
|
-
description: 'Look up Flow Weaver documentation by topic. Topics: concepts, jsdoc-grammar, advanced-annotations, built-in-nodes, scaffold, node-conversion, patterns, error-codes, debugging, export-interface.',
|
|
174
|
-
inputSchema: {
|
|
175
|
-
type: 'object',
|
|
176
|
-
properties: { topic: { type: 'string', description: 'Documentation topic slug' } },
|
|
177
|
-
required: ['topic'],
|
|
178
|
-
},
|
|
179
|
-
},
|
|
180
|
-
// Project tools
|
|
181
|
-
{
|
|
182
|
-
name: 'read_file',
|
|
183
|
-
description: 'Read a file and return its contents.',
|
|
184
|
-
inputSchema: {
|
|
185
|
-
type: 'object',
|
|
186
|
-
properties: { file: { type: 'string', description: 'File path' } },
|
|
187
|
-
required: ['file'],
|
|
188
|
-
},
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
name: 'list_files',
|
|
192
|
-
description: 'List files in a directory.',
|
|
193
|
-
inputSchema: {
|
|
194
|
-
type: 'object',
|
|
195
|
-
properties: {
|
|
196
|
-
directory: { type: 'string', description: 'Directory path' },
|
|
197
|
-
pattern: { type: 'string', description: 'Filter pattern (regex, optional)' },
|
|
198
|
-
},
|
|
199
|
-
required: ['directory'],
|
|
200
|
-
},
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
name: 'run_shell',
|
|
204
|
-
description: 'Run a shell command (read-only operations recommended).',
|
|
205
|
-
inputSchema: {
|
|
206
|
-
type: 'object',
|
|
207
|
-
properties: { command: { type: 'string', description: 'Shell command to execute' } },
|
|
208
|
-
required: ['command'],
|
|
209
|
-
},
|
|
210
|
-
},
|
|
211
|
-
// Conversation management
|
|
212
|
-
{
|
|
213
|
-
name: 'conversation_list',
|
|
214
|
-
description: 'List saved assistant conversations with message counts and timestamps.',
|
|
215
|
-
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
name: 'conversation_delete',
|
|
219
|
-
description: 'Delete a saved conversation by ID.',
|
|
220
|
-
inputSchema: {
|
|
221
|
-
type: 'object',
|
|
222
|
-
properties: { id: { type: 'string', description: 'Conversation ID to delete' } },
|
|
223
|
-
required: ['id'],
|
|
224
|
-
},
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
name: 'conversation_summary',
|
|
228
|
-
description: 'Get a summary of the current conversation (message count, tokens, bots spawned).',
|
|
229
|
-
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
230
|
-
},
|
|
231
|
-
// Web access
|
|
232
|
-
{
|
|
233
|
-
name: 'web_fetch',
|
|
234
|
-
description: 'Fetch HTTP content from a URL. Returns text body (max 10KB).',
|
|
235
|
-
inputSchema: {
|
|
236
|
-
type: 'object',
|
|
237
|
-
properties: {
|
|
238
|
-
url: { type: 'string', description: 'URL to fetch' },
|
|
239
|
-
method: { type: 'string', description: 'HTTP method (default GET)', enum: ['GET', 'POST'] },
|
|
240
|
-
},
|
|
241
|
-
required: ['url'],
|
|
242
|
-
},
|
|
243
|
-
},
|
|
244
|
-
// CI/CD
|
|
245
|
-
{
|
|
246
|
-
name: 'github_status',
|
|
247
|
-
description: 'Check GitHub Actions status for a branch or PR. Requires gh CLI installed.',
|
|
248
|
-
inputSchema: {
|
|
249
|
-
type: 'object',
|
|
250
|
-
properties: {
|
|
251
|
-
branch: { type: 'string', description: 'Branch name (optional, defaults to current)' },
|
|
252
|
-
pr: { type: 'number', description: 'PR number (optional, checks PR status instead of branch)' },
|
|
253
|
-
},
|
|
254
|
-
required: [],
|
|
255
|
-
},
|
|
256
|
-
},
|
|
257
|
-
// Cross-repo
|
|
258
|
-
{
|
|
259
|
-
name: 'project_list',
|
|
260
|
-
description: 'List known project directories that have been used with weaver.',
|
|
261
|
-
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
name: 'project_context',
|
|
265
|
-
description: 'Read package.json and .weaver-plan.md from a project directory to understand its context.',
|
|
266
|
-
inputSchema: {
|
|
267
|
-
type: 'object',
|
|
268
|
-
properties: { directory: { type: 'string', description: 'Absolute path to project directory' } },
|
|
269
|
-
required: ['directory'],
|
|
270
|
-
},
|
|
271
|
-
},
|
|
272
|
-
// Diagrams
|
|
273
|
-
{
|
|
274
|
-
name: 'fw_diagram_mermaid',
|
|
275
|
-
description: 'Generate a Mermaid diagram of a workflow (can be rendered in any Mermaid viewer).',
|
|
276
|
-
inputSchema: {
|
|
277
|
-
type: 'object',
|
|
278
|
-
properties: { file: { type: 'string', description: 'Workflow file path' } },
|
|
279
|
-
required: ['file'],
|
|
280
|
-
},
|
|
281
|
-
},
|
|
282
|
-
// Knowledge
|
|
283
|
-
{
|
|
284
|
-
name: 'knowledge_list',
|
|
285
|
-
description: 'List all stored knowledge entries for the current project.',
|
|
286
|
-
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
287
|
-
},
|
|
288
|
-
{
|
|
289
|
-
name: 'knowledge_search',
|
|
290
|
-
description: 'Search stored knowledge by keyword.',
|
|
291
|
-
inputSchema: {
|
|
292
|
-
type: 'object',
|
|
293
|
-
properties: { query: { type: 'string', description: 'Search query' } },
|
|
294
|
-
required: ['query'],
|
|
295
|
-
},
|
|
296
|
-
},
|
|
297
|
-
];
|
|
298
21
|
export function createAssistantExecutor(projectDir) {
|
|
299
22
|
const mgr = getManager();
|
|
300
23
|
return async (name, args) => {
|
|
@@ -407,7 +130,7 @@ export function createAssistantExecutor(projectDir) {
|
|
|
407
130
|
return { result: output.trim() || 'Validation complete.', isError: false };
|
|
408
131
|
}
|
|
409
132
|
case 'fw_diagram': {
|
|
410
|
-
const output = execFileSync('npx', ['flow-weaver', 'diagram', String(args.file)], {
|
|
133
|
+
const output = execFileSync('npx', ['flow-weaver', 'diagram', String(args.file), '--format', 'ascii-compact'], {
|
|
411
134
|
encoding: 'utf-8', cwd: projectDir, timeout: 15_000, stdio: ['pipe', 'pipe', 'pipe'],
|
|
412
135
|
});
|
|
413
136
|
return { result: output.trim(), isError: false };
|
|
@@ -450,8 +173,7 @@ export function createAssistantExecutor(projectDir) {
|
|
|
450
173
|
case 'run_shell': {
|
|
451
174
|
const cmd = String(args.command);
|
|
452
175
|
// Safety: block destructive commands
|
|
453
|
-
|
|
454
|
-
if (blocked.some(b => cmd.includes(b))) {
|
|
176
|
+
if (isBlockedCommand(cmd)) {
|
|
455
177
|
return { result: `Blocked: "${cmd}" is not allowed.`, isError: true };
|
|
456
178
|
}
|
|
457
179
|
const output = execFileSync('sh', ['-c', cmd], {
|
|
@@ -497,7 +219,7 @@ export function createAssistantExecutor(projectDir) {
|
|
|
497
219
|
}
|
|
498
220
|
case 'web_fetch': {
|
|
499
221
|
const url = String(args.url);
|
|
500
|
-
if (
|
|
222
|
+
if (isBlockedUrl(url)) {
|
|
501
223
|
return { result: 'Blocked: cannot fetch internal/localhost URLs.', isError: true };
|
|
502
224
|
}
|
|
503
225
|
const resp = await fetch(url, { method: args.method ?? 'GET', signal: AbortSignal.timeout(15_000) });
|