@synergenius/flow-weaver-pack-weaver 0.9.7 → 0.9.9
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/agent-loop.d.ts +20 -0
- package/dist/bot/agent-loop.d.ts.map +1 -0
- package/dist/bot/agent-loop.js +331 -0
- package/dist/bot/agent-loop.js.map +1 -0
- package/dist/bot/agent-provider.d.ts.map +1 -1
- package/dist/bot/agent-provider.js +3 -2
- package/dist/bot/agent-provider.js.map +1 -1
- package/dist/bot/approvals.js +17 -8
- package/dist/bot/approvals.js.map +1 -1
- package/dist/bot/assistant-core.d.ts +17 -0
- package/dist/bot/assistant-core.d.ts.map +1 -1
- package/dist/bot/assistant-core.js +418 -60
- package/dist/bot/assistant-core.js.map +1 -1
- package/dist/bot/assistant-tools.d.ts +1 -1
- package/dist/bot/assistant-tools.d.ts.map +1 -1
- package/dist/bot/assistant-tools.js +283 -9
- package/dist/bot/assistant-tools.js.map +1 -1
- package/dist/bot/bot-agent-channel.d.ts.map +1 -1
- package/dist/bot/bot-agent-channel.js +2 -0
- package/dist/bot/bot-agent-channel.js.map +1 -1
- package/dist/bot/bot-manager.d.ts +4 -0
- package/dist/bot/bot-manager.d.ts.map +1 -1
- package/dist/bot/bot-manager.js +72 -27
- package/dist/bot/bot-manager.js.map +1 -1
- package/dist/bot/conversation-store.d.ts +6 -5
- package/dist/bot/conversation-store.d.ts.map +1 -1
- package/dist/bot/conversation-store.js +98 -42
- package/dist/bot/conversation-store.js.map +1 -1
- package/dist/bot/cost-store.d.ts +3 -0
- package/dist/bot/cost-store.d.ts.map +1 -1
- package/dist/bot/cost-store.js +21 -10
- package/dist/bot/cost-store.js.map +1 -1
- package/dist/bot/cost-tracker.d.ts.map +1 -1
- package/dist/bot/cost-tracker.js +14 -1
- package/dist/bot/cost-tracker.js.map +1 -1
- package/dist/bot/cron-parser.d.ts.map +1 -1
- package/dist/bot/cron-parser.js +2 -0
- package/dist/bot/cron-parser.js.map +1 -1
- package/dist/bot/cron-scheduler.d.ts.map +1 -1
- package/dist/bot/cron-scheduler.js +1 -0
- package/dist/bot/cron-scheduler.js.map +1 -1
- package/dist/bot/device-connection.d.ts +13 -0
- package/dist/bot/device-connection.d.ts.map +1 -0
- package/dist/bot/device-connection.js +102 -0
- package/dist/bot/device-connection.js.map +1 -0
- package/dist/bot/error-classifier.d.ts.map +1 -1
- package/dist/bot/error-classifier.js +5 -0
- package/dist/bot/error-classifier.js.map +1 -1
- package/dist/bot/file-lock.d.ts.map +1 -1
- package/dist/bot/file-lock.js +13 -3
- package/dist/bot/file-lock.js.map +1 -1
- package/dist/bot/file-watcher.d.ts.map +1 -1
- package/dist/bot/file-watcher.js +1 -0
- package/dist/bot/file-watcher.js.map +1 -1
- package/dist/bot/genesis-prompt-context.d.ts +5 -0
- package/dist/bot/genesis-prompt-context.d.ts.map +1 -1
- package/dist/bot/genesis-prompt-context.js +55 -0
- package/dist/bot/genesis-prompt-context.js.map +1 -1
- package/dist/bot/genesis-store.d.ts +4 -0
- package/dist/bot/genesis-store.d.ts.map +1 -1
- package/dist/bot/genesis-store.js +79 -12
- package/dist/bot/genesis-store.js.map +1 -1
- package/dist/bot/improve-loop.d.ts +46 -0
- package/dist/bot/improve-loop.d.ts.map +1 -0
- package/dist/bot/improve-loop.js +592 -0
- package/dist/bot/improve-loop.js.map +1 -0
- package/dist/bot/insight-engine.d.ts +12 -0
- package/dist/bot/insight-engine.d.ts.map +1 -0
- package/dist/bot/insight-engine.js +256 -0
- package/dist/bot/insight-engine.js.map +1 -0
- package/dist/bot/knowledge-store.d.ts.map +1 -1
- package/dist/bot/knowledge-store.js +4 -1
- package/dist/bot/knowledge-store.js.map +1 -1
- package/dist/bot/pipeline-runner.d.ts.map +1 -1
- package/dist/bot/pipeline-runner.js +12 -4
- package/dist/bot/pipeline-runner.js.map +1 -1
- package/dist/bot/project-model.d.ts +25 -0
- package/dist/bot/project-model.d.ts.map +1 -0
- package/dist/bot/project-model.js +372 -0
- package/dist/bot/project-model.js.map +1 -0
- package/dist/bot/response-formatter.js +2 -3
- package/dist/bot/response-formatter.js.map +1 -1
- package/dist/bot/run-store.d.ts.map +1 -1
- package/dist/bot/run-store.js +10 -2
- package/dist/bot/run-store.js.map +1 -1
- package/dist/bot/safe-path.d.ts +1 -1
- package/dist/bot/safe-path.d.ts.map +1 -1
- package/dist/bot/safe-path.js +20 -1
- package/dist/bot/safe-path.js.map +1 -1
- package/dist/bot/safety.d.ts +10 -2
- package/dist/bot/safety.d.ts.map +1 -1
- package/dist/bot/safety.js +45 -2
- package/dist/bot/safety.js.map +1 -1
- package/dist/bot/session-state.d.ts +4 -0
- package/dist/bot/session-state.d.ts.map +1 -1
- package/dist/bot/session-state.js +52 -9
- package/dist/bot/session-state.js.map +1 -1
- package/dist/bot/slash-commands.d.ts.map +1 -1
- package/dist/bot/slash-commands.js +109 -3
- package/dist/bot/slash-commands.js.map +1 -1
- package/dist/bot/steering-engine.d.ts +67 -0
- package/dist/bot/steering-engine.d.ts.map +1 -0
- package/dist/bot/steering-engine.js +198 -0
- package/dist/bot/steering-engine.js.map +1 -0
- package/dist/bot/step-executor.d.ts.map +1 -1
- package/dist/bot/step-executor.js +62 -25
- package/dist/bot/step-executor.js.map +1 -1
- package/dist/bot/system-prompt.d.ts.map +1 -1
- package/dist/bot/system-prompt.js +5 -2
- package/dist/bot/system-prompt.js.map +1 -1
- package/dist/bot/task-queue.d.ts +6 -1
- package/dist/bot/task-queue.d.ts.map +1 -1
- package/dist/bot/task-queue.js +43 -4
- package/dist/bot/task-queue.js.map +1 -1
- package/dist/bot/tool-registry.d.ts +1 -1
- package/dist/bot/tool-registry.d.ts.map +1 -1
- package/dist/bot/tool-registry.js +65 -4
- package/dist/bot/tool-registry.js.map +1 -1
- package/dist/bot/trust-calculator.d.ts +34 -0
- package/dist/bot/trust-calculator.d.ts.map +1 -0
- package/dist/bot/trust-calculator.js +67 -0
- package/dist/bot/trust-calculator.js.map +1 -0
- package/dist/bot/types.d.ts +97 -0
- package/dist/bot/types.d.ts.map +1 -1
- package/dist/bot/update-checker.d.ts +21 -0
- package/dist/bot/update-checker.d.ts.map +1 -0
- package/dist/bot/update-checker.js +129 -0
- package/dist/bot/update-checker.js.map +1 -0
- package/dist/bot/weaver-tools.d.ts.map +1 -1
- package/dist/bot/weaver-tools.js +11 -4
- package/dist/bot/weaver-tools.js.map +1 -1
- package/dist/cli-bridge.d.ts +2 -0
- package/dist/cli-bridge.d.ts.map +1 -1
- package/dist/cli-bridge.js +3 -1
- package/dist/cli-bridge.js.map +1 -1
- package/dist/cli-handlers.d.ts +10 -1
- package/dist/cli-handlers.d.ts.map +1 -1
- package/dist/cli-handlers.js +141 -24
- package/dist/cli-handlers.js.map +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +749 -0
- package/dist/cli.js.map +1 -0
- package/dist/docs/weaver-config.md +15 -9
- package/dist/handlers/on-execution-completed.d.ts +11 -0
- package/dist/handlers/on-execution-completed.d.ts.map +1 -0
- package/dist/handlers/on-execution-completed.js +25 -0
- package/dist/handlers/on-execution-completed.js.map +1 -0
- package/dist/mcp-tools.d.ts.map +1 -1
- package/dist/mcp-tools.js +33 -0
- package/dist/mcp-tools.js.map +1 -1
- package/dist/node-types/genesis-approve.d.ts.map +1 -1
- package/dist/node-types/genesis-approve.js +28 -3
- package/dist/node-types/genesis-approve.js.map +1 -1
- package/dist/node-types/genesis-observe.d.ts.map +1 -1
- package/dist/node-types/genesis-observe.js +23 -13
- package/dist/node-types/genesis-observe.js.map +1 -1
- package/dist/node-types/genesis-propose.d.ts.map +1 -1
- package/dist/node-types/genesis-propose.js +8 -0
- package/dist/node-types/genesis-propose.js.map +1 -1
- package/dist/node-types/genesis-update-history.d.ts.map +1 -1
- package/dist/node-types/genesis-update-history.js +13 -0
- package/dist/node-types/genesis-update-history.js.map +1 -1
- package/dist/templates/weaver-template.d.ts +11 -0
- package/dist/templates/weaver-template.d.ts.map +1 -0
- package/dist/templates/weaver-template.js +53 -0
- package/dist/templates/weaver-template.js.map +1 -0
- package/dist/workflows/weaver-bot-session.d.ts +65 -0
- package/dist/workflows/weaver-bot-session.d.ts.map +1 -0
- package/dist/workflows/weaver-bot-session.js +68 -0
- package/dist/workflows/weaver-bot-session.js.map +1 -0
- package/dist/workflows/weaver.d.ts +24 -0
- package/dist/workflows/weaver.d.ts.map +1 -0
- package/dist/workflows/weaver.js +28 -0
- package/dist/workflows/weaver.js.map +1 -0
- package/flowweaver.manifest.json +28 -1
- package/package.json +6 -3
- package/src/bot/agent-provider.ts +3 -2
- package/src/bot/approvals.ts +16 -8
- package/src/bot/assistant-core.ts +420 -63
- package/src/bot/assistant-tools.ts +291 -9
- package/src/bot/bot-agent-channel.ts +2 -0
- package/src/bot/bot-manager.ts +70 -29
- package/src/bot/conversation-store.ts +87 -42
- package/src/bot/cost-store.ts +20 -9
- package/src/bot/cost-tracker.ts +13 -1
- package/src/bot/cron-parser.ts +1 -0
- package/src/bot/cron-scheduler.ts +1 -0
- package/src/bot/device-connection.ts +102 -0
- package/src/bot/error-classifier.ts +5 -0
- package/src/bot/file-lock.ts +12 -2
- package/src/bot/file-watcher.ts +1 -0
- package/src/bot/genesis-prompt-context.ts +61 -0
- package/src/bot/genesis-store.ts +68 -16
- package/src/bot/improve-loop.ts +651 -0
- package/src/bot/insight-engine.ts +273 -0
- package/src/bot/knowledge-store.ts +4 -1
- package/src/bot/pipeline-runner.ts +11 -6
- package/src/bot/project-model.ts +404 -0
- package/src/bot/response-formatter.ts +2 -3
- package/src/bot/run-store.ts +5 -2
- package/src/bot/safe-path.ts +20 -1
- package/src/bot/safety.ts +57 -3
- package/src/bot/session-state.ts +47 -7
- package/src/bot/slash-commands.ts +111 -3
- package/src/bot/steering-engine.ts +233 -0
- package/src/bot/step-executor.ts +66 -26
- package/src/bot/system-prompt.ts +5 -2
- package/src/bot/task-queue.ts +40 -4
- package/src/bot/tool-registry.ts +67 -5
- package/src/bot/trust-calculator.ts +87 -0
- package/src/bot/types.ts +104 -0
- package/src/bot/update-checker.ts +138 -0
- package/src/bot/weaver-tools.ts +10 -4
- package/src/cli-bridge.ts +4 -1
- package/src/cli-handlers.ts +150 -29
- package/src/handlers/on-execution-completed.ts +30 -0
- package/src/mcp-tools.ts +38 -0
- package/src/node-types/genesis-approve.ts +28 -3
- package/src/node-types/genesis-observe.ts +23 -12
- package/src/node-types/genesis-propose.ts +8 -0
- package/src/node-types/genesis-update-history.ts +12 -0
- package/src/ui/evolution-panel.tsx +96 -0
- package/src/ui/insights-widget.tsx +77 -0
package/dist/cli-handlers.js
CHANGED
|
@@ -242,6 +242,9 @@ export function parseArgs(argv) {
|
|
|
242
242
|
else if (arg === 'genesis') {
|
|
243
243
|
result.command = 'genesis';
|
|
244
244
|
}
|
|
245
|
+
else if (arg === 'improve') {
|
|
246
|
+
result.command = 'improve';
|
|
247
|
+
}
|
|
245
248
|
else if (arg === 'init') {
|
|
246
249
|
result.command = 'init';
|
|
247
250
|
}
|
|
@@ -255,9 +258,16 @@ export function parseArgs(argv) {
|
|
|
255
258
|
i++;
|
|
256
259
|
result.assistantWatch = args[i];
|
|
257
260
|
}
|
|
261
|
+
else if ((arg === '-m' || arg === '--message') && i + 1 < args.length) {
|
|
262
|
+
i++;
|
|
263
|
+
result.assistantMessage = args[i];
|
|
264
|
+
}
|
|
258
265
|
else if (arg === '--new') {
|
|
259
266
|
result.assistantNew = true;
|
|
260
267
|
}
|
|
268
|
+
else if (arg === '--debug') {
|
|
269
|
+
result.assistantDebug = true;
|
|
270
|
+
}
|
|
261
271
|
else if (arg === '--resume' && i + 1 < args.length) {
|
|
262
272
|
i++;
|
|
263
273
|
result.assistantResume = args[i];
|
|
@@ -288,6 +298,26 @@ export function parseArgs(argv) {
|
|
|
288
298
|
i++;
|
|
289
299
|
result.file = args[i];
|
|
290
300
|
}
|
|
301
|
+
else if (arg === '--max-cycles' && i + 1 < args.length) {
|
|
302
|
+
i++;
|
|
303
|
+
result.improveMaxCycles = parseInt(args[i], 10) || undefined;
|
|
304
|
+
}
|
|
305
|
+
else if (arg === '--max-failures' && i + 1 < args.length) {
|
|
306
|
+
i++;
|
|
307
|
+
result.improveMaxFailures = parseInt(args[i], 10) || undefined;
|
|
308
|
+
}
|
|
309
|
+
else if (arg === '--protected' && i + 1 < args.length) {
|
|
310
|
+
i++;
|
|
311
|
+
result.improveProtected = args[i].split(',').map(s => s.trim());
|
|
312
|
+
}
|
|
313
|
+
else if (arg === '--test-cmd' && i + 1 < args.length) {
|
|
314
|
+
i++;
|
|
315
|
+
result.improveTestCmd = args[i];
|
|
316
|
+
}
|
|
317
|
+
else if (arg === '--build-cmd' && i + 1 < args.length) {
|
|
318
|
+
i++;
|
|
319
|
+
result.improveBuildCmd = args[i];
|
|
320
|
+
}
|
|
291
321
|
else if (arg === 'run') {
|
|
292
322
|
// skip, next arg is the file
|
|
293
323
|
}
|
|
@@ -1522,7 +1552,7 @@ export async function handleAssistant(opts) {
|
|
|
1522
1552
|
if (opts.assistantDelete) {
|
|
1523
1553
|
const { ConversationStore } = await import('./bot/conversation-store.js');
|
|
1524
1554
|
const store = new ConversationStore();
|
|
1525
|
-
store.delete(opts.assistantDelete);
|
|
1555
|
+
await store.delete(opts.assistantDelete);
|
|
1526
1556
|
console.log(` Deleted conversation ${opts.assistantDelete}`);
|
|
1527
1557
|
return;
|
|
1528
1558
|
}
|
|
@@ -1560,7 +1590,11 @@ export async function handleAssistant(opts) {
|
|
|
1560
1590
|
else if (providerType === 'anthropic' || (providerType === 'auto' && process.env.ANTHROPIC_API_KEY)) {
|
|
1561
1591
|
const apiKey = process.env.ANTHROPIC_API_KEY ?? (typeof providerSetting === 'object' ? providerSetting.apiKey : undefined);
|
|
1562
1592
|
if (!apiKey) {
|
|
1563
|
-
console.error('
|
|
1593
|
+
console.error('\n No API key found.\n');
|
|
1594
|
+
console.error(' Set one of:');
|
|
1595
|
+
console.error(' export ANTHROPIC_API_KEY=sk-...');
|
|
1596
|
+
console.error(' fw login (platform credentials)');
|
|
1597
|
+
console.error(' flow-weaver weaver init (auto-detect provider)\n');
|
|
1564
1598
|
process.exit(1);
|
|
1565
1599
|
}
|
|
1566
1600
|
provider = createAnthropicProvider({ apiKey, model: typeof providerSetting === 'object' ? providerSetting.model : undefined });
|
|
@@ -1571,6 +1605,52 @@ export async function handleAssistant(opts) {
|
|
|
1571
1605
|
const { ASSISTANT_TOOLS, createAssistantExecutor } = await import('./bot/assistant-tools.js');
|
|
1572
1606
|
const { runAssistant } = await import('./bot/assistant-core.js');
|
|
1573
1607
|
const executor = createAssistantExecutor(projectDir);
|
|
1608
|
+
// Debug mode: pass messages as inputMessages, enable structured output
|
|
1609
|
+
// Must be checked BEFORE single-message mode since both use -m flag
|
|
1610
|
+
if (opts.assistantDebug) {
|
|
1611
|
+
const messages = opts.assistantMessage ? [opts.assistantMessage] : [];
|
|
1612
|
+
// Read additional messages from stdin if not a TTY
|
|
1613
|
+
if (!process.stdin.isTTY) {
|
|
1614
|
+
const chunks = [];
|
|
1615
|
+
for await (const chunk of process.stdin) {
|
|
1616
|
+
chunks.push(typeof chunk === 'string' ? chunk : chunk.toString());
|
|
1617
|
+
}
|
|
1618
|
+
const stdinMessages = chunks.join('').trim().split('\n').filter(Boolean);
|
|
1619
|
+
messages.push(...stdinMessages);
|
|
1620
|
+
}
|
|
1621
|
+
if (messages.length === 0) {
|
|
1622
|
+
console.error('Debug mode requires messages via -m "msg" or stdin (one per line)');
|
|
1623
|
+
process.exit(1);
|
|
1624
|
+
}
|
|
1625
|
+
await runAssistant({
|
|
1626
|
+
provider,
|
|
1627
|
+
tools: ASSISTANT_TOOLS,
|
|
1628
|
+
executor,
|
|
1629
|
+
projectDir,
|
|
1630
|
+
inputMessages: messages,
|
|
1631
|
+
resumeId: opts.assistantResume,
|
|
1632
|
+
newConversation: !opts.assistantResume,
|
|
1633
|
+
debug: true,
|
|
1634
|
+
});
|
|
1635
|
+
return;
|
|
1636
|
+
}
|
|
1637
|
+
// Single message mode: -m "message" — run one message, print result, exit
|
|
1638
|
+
if (opts.assistantMessage) {
|
|
1639
|
+
const { runAgentLoop } = await import('@synergenius/flow-weaver/agent');
|
|
1640
|
+
const result = await runAgentLoop(provider, ASSISTANT_TOOLS, executor, [{ role: 'user', content: opts.assistantMessage }], {
|
|
1641
|
+
maxIterations: 20,
|
|
1642
|
+
onStreamEvent: (e) => { if (e.type === 'text_delta')
|
|
1643
|
+
process.stdout.write(e.text); },
|
|
1644
|
+
onToolEvent: (e) => {
|
|
1645
|
+
if (e.type === 'tool_call_start')
|
|
1646
|
+
process.stderr.write(`\n ◆ ${e.name}\n`);
|
|
1647
|
+
if (e.type === 'tool_call_result')
|
|
1648
|
+
process.stderr.write(` → ${(e.result ?? '').replace(/\n/g, ' ').slice(0, 200)}\n`);
|
|
1649
|
+
},
|
|
1650
|
+
});
|
|
1651
|
+
process.stdout.write('\n');
|
|
1652
|
+
process.exit(result.success ? 0 : 1);
|
|
1653
|
+
}
|
|
1574
1654
|
await runAssistant({
|
|
1575
1655
|
provider,
|
|
1576
1656
|
tools: ASSISTANT_TOOLS,
|
|
@@ -1841,6 +1921,9 @@ const COMMAND_HELP = {
|
|
|
1841
1921
|
eject: 'eject [--workflow bot|genesis] Export managed workflows',
|
|
1842
1922
|
audit: 'audit [runId] [--limit N] View audit log',
|
|
1843
1923
|
assistant: 'assistant AI-powered assistant for managing bots and workflows',
|
|
1924
|
+
examples: 'examples Show example tasks and commands',
|
|
1925
|
+
doctor: 'doctor Validate setup and check connectivity',
|
|
1926
|
+
status: 'status Get bot session status',
|
|
1844
1927
|
};
|
|
1845
1928
|
export function printHelp(command) {
|
|
1846
1929
|
if (command && command !== 'help' && COMMAND_HELP[command]) {
|
|
@@ -1849,26 +1932,50 @@ export function printHelp(command) {
|
|
|
1849
1932
|
return;
|
|
1850
1933
|
}
|
|
1851
1934
|
console.log(`
|
|
1852
|
-
Weaver — AI-powered workflow automation for Flow Weaver
|
|
1935
|
+
Weaver — AI-powered workflow automation for Flow Weaver
|
|
1936
|
+
|
|
1937
|
+
Usage: flow-weaver weaver <command> [options]
|
|
1938
|
+
|
|
1939
|
+
Get started:
|
|
1940
|
+
assistant AI assistant for managing bots and workflows
|
|
1941
|
+
bot <task> Create or modify a workflow from a task
|
|
1942
|
+
init Create .weaver.json config
|
|
1943
|
+
doctor Validate setup and check connectivity
|
|
1944
|
+
|
|
1945
|
+
Workflows:
|
|
1946
|
+
run <file> Execute a workflow with AI agent channel
|
|
1947
|
+
watch <file> Re-run on file changes
|
|
1948
|
+
genesis [--init] Self-evolution cycle on a workflow
|
|
1853
1949
|
|
|
1854
|
-
|
|
1950
|
+
Management:
|
|
1951
|
+
session Start continuous task queue processing
|
|
1952
|
+
queue <cmd> [task] Manage task queue (add, list, clear, remove)
|
|
1953
|
+
status Get bot session status
|
|
1954
|
+
steer <cmd> Control a running session (pause, resume, cancel)
|
|
1855
1955
|
|
|
1856
|
-
|
|
1857
|
-
|
|
1956
|
+
Info:
|
|
1957
|
+
history [id] Show execution history
|
|
1958
|
+
costs [--since 7d] Show AI token usage and costs
|
|
1959
|
+
audit [runId] View audit log
|
|
1960
|
+
examples Show example tasks and commands
|
|
1961
|
+
providers List available AI providers
|
|
1858
1962
|
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
-p, --params <json> Input parameters as JSON
|
|
1865
|
-
-c, --config <path> Path to .weaver.json config
|
|
1866
|
-
--approval <mode> Override approval mode (auto|prompt|web|timeout-auto)
|
|
1963
|
+
Advanced:
|
|
1964
|
+
pipeline <config.json> Run multi-stage pipeline
|
|
1965
|
+
cron <schedule> <file> Schedule workflow execution
|
|
1966
|
+
dashboard [file] Start live execution dashboard
|
|
1967
|
+
eject [--workflow name] Export managed workflows
|
|
1867
1968
|
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1969
|
+
Options:
|
|
1970
|
+
-h, --help Show help
|
|
1971
|
+
-v, --verbose Show detailed output
|
|
1972
|
+
-c, --config <path> Path to .weaver.json config
|
|
1973
|
+
--approval <mode> Approval mode (auto|prompt|web|timeout-auto)
|
|
1974
|
+
|
|
1975
|
+
Quick start:
|
|
1976
|
+
flow-weaver weaver init
|
|
1977
|
+
flow-weaver weaver bot "Create a hello world workflow"
|
|
1978
|
+
flow-weaver weaver assistant
|
|
1872
1979
|
`);
|
|
1873
1980
|
}
|
|
1874
1981
|
function printCommandHelp(command) {
|
|
@@ -1995,15 +2102,25 @@ export async function handleInit(opts) {
|
|
|
1995
2102
|
console.log(` provider: ${provider}`);
|
|
1996
2103
|
console.log(' approval: auto');
|
|
1997
2104
|
console.log('');
|
|
1998
|
-
console.log('
|
|
1999
|
-
console.log(' \x1b[36mweaver
|
|
2000
|
-
console.log(' \x1b[36mweaver assistant\x1b[0m');
|
|
2105
|
+
console.log(' \x1b[1mNext step:\x1b[0m');
|
|
2106
|
+
console.log(' \x1b[36mweaver assistant\x1b[0m \x1b[2m# start your AI companion\x1b[0m');
|
|
2001
2107
|
console.log('');
|
|
2002
|
-
console.log('
|
|
2003
|
-
console.log('
|
|
2004
|
-
console.log(' weaver doctor \x1b[2m# validate your setup\x1b[0m');
|
|
2108
|
+
console.log(' The assistant will read your project and help you create');
|
|
2109
|
+
console.log(' your first workflow. Just tell it what you want to build.');
|
|
2005
2110
|
console.log('');
|
|
2006
2111
|
}
|
|
2112
|
+
export async function handleImprove(opts) {
|
|
2113
|
+
const projectDir = opts.file ? path.resolve(opts.file) : process.cwd();
|
|
2114
|
+
const { runImproveLoop, DEFAULT_PROTECTED } = await import('./bot/improve-loop.js');
|
|
2115
|
+
await runImproveLoop({
|
|
2116
|
+
maxCycles: opts.improveMaxCycles ?? 0,
|
|
2117
|
+
maxConsecutiveFailures: opts.improveMaxFailures ?? 5,
|
|
2118
|
+
protectedPatterns: opts.improveProtected ?? DEFAULT_PROTECTED,
|
|
2119
|
+
testCommand: opts.improveTestCmd ?? 'npx vitest run',
|
|
2120
|
+
buildCommand: opts.improveBuildCmd,
|
|
2121
|
+
projectDir,
|
|
2122
|
+
});
|
|
2123
|
+
}
|
|
2007
2124
|
export async function handleExamples(_opts) {
|
|
2008
2125
|
console.log('');
|
|
2009
2126
|
console.log(' \x1b[1mWeaver Examples\x1b[0m');
|