@synergenius/flow-weaver-pack-weaver 0.9.59 → 0.9.77
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/ai-chat-provider.d.ts +12 -0
- package/dist/ai-chat-provider.d.ts.map +1 -1
- package/dist/ai-chat-provider.js +351 -335
- package/dist/ai-chat-provider.js.map +1 -1
- 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/ai-router.d.ts +19 -0
- package/dist/bot/ai-router.d.ts.map +1 -0
- package/dist/bot/ai-router.js +104 -0
- package/dist/bot/ai-router.js.map +1 -0
- package/dist/bot/assistant-tools.d.ts.map +1 -1
- package/dist/bot/assistant-tools.js +49 -33
- package/dist/bot/assistant-tools.js.map +1 -1
- package/dist/bot/async-mutex.d.ts +13 -0
- package/dist/bot/async-mutex.d.ts.map +1 -0
- package/dist/bot/async-mutex.js +37 -0
- package/dist/bot/async-mutex.js.map +1 -0
- package/dist/bot/bot-manager.d.ts +2 -2
- package/dist/bot/bot-manager.d.ts.map +1 -1
- package/dist/bot/bot-manager.js +3 -3
- package/dist/bot/bot-manager.js.map +1 -1
- package/dist/bot/bot-registry.js +2 -2
- package/dist/bot/bot-registry.js.map +1 -1
- package/dist/bot/conversation-store.d.ts +1 -0
- package/dist/bot/conversation-store.d.ts.map +1 -1
- package/dist/bot/conversation-store.js.map +1 -1
- package/dist/bot/dashboard.d.ts.map +1 -1
- package/dist/bot/dashboard.js +17 -8
- package/dist/bot/dashboard.js.map +1 -1
- package/dist/bot/improve-loop.js.map +1 -1
- package/dist/bot/index.d.ts +2 -4
- package/dist/bot/index.d.ts.map +1 -1
- package/dist/bot/index.js +1 -2
- package/dist/bot/index.js.map +1 -1
- package/dist/bot/instance-manager.d.ts +31 -0
- package/dist/bot/instance-manager.d.ts.map +1 -0
- package/dist/bot/instance-manager.js +115 -0
- package/dist/bot/instance-manager.js.map +1 -0
- package/dist/bot/orchestrator.d.ts +36 -0
- package/dist/bot/orchestrator.d.ts.map +1 -0
- package/dist/bot/orchestrator.js +176 -0
- package/dist/bot/orchestrator.js.map +1 -0
- package/dist/bot/profile-store.d.ts +36 -0
- package/dist/bot/profile-store.d.ts.map +1 -0
- package/dist/bot/profile-store.js +208 -0
- package/dist/bot/profile-store.js.map +1 -0
- package/dist/bot/profile-types.d.ts +126 -0
- package/dist/bot/profile-types.d.ts.map +1 -0
- package/dist/bot/profile-types.js +7 -0
- package/dist/bot/profile-types.js.map +1 -0
- package/dist/bot/run-store.d.ts.map +1 -1
- package/dist/bot/run-store.js +8 -0
- package/dist/bot/run-store.js.map +1 -1
- package/dist/bot/runner.d.ts +4 -0
- package/dist/bot/runner.d.ts.map +1 -1
- package/dist/bot/runner.js +5 -1
- package/dist/bot/runner.js.map +1 -1
- package/dist/bot/swarm-controller.d.ts +109 -0
- package/dist/bot/swarm-controller.d.ts.map +1 -0
- package/dist/bot/swarm-controller.js +640 -0
- package/dist/bot/swarm-controller.js.map +1 -0
- package/dist/bot/swarm-event-log.d.ts +28 -0
- package/dist/bot/swarm-event-log.d.ts.map +1 -0
- package/dist/bot/swarm-event-log.js +54 -0
- package/dist/bot/swarm-event-log.js.map +1 -0
- package/dist/bot/task-prompt-builder.d.ts +22 -0
- package/dist/bot/task-prompt-builder.d.ts.map +1 -0
- package/dist/bot/task-prompt-builder.js +240 -0
- package/dist/bot/task-prompt-builder.js.map +1 -0
- package/dist/bot/task-store.d.ts +21 -0
- package/dist/bot/task-store.d.ts.map +1 -0
- package/dist/bot/task-store.js +364 -0
- package/dist/bot/task-store.js.map +1 -0
- package/dist/bot/task-types.d.ts +79 -0
- package/dist/bot/task-types.d.ts.map +1 -0
- package/dist/bot/task-types.js +6 -0
- package/dist/bot/task-types.js.map +1 -0
- package/dist/bot/types.d.ts +8 -0
- package/dist/bot/types.d.ts.map +1 -1
- package/dist/cli-handlers.d.ts.map +1 -1
- package/dist/cli-handlers.js +79 -54
- 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/docs/weaver-bot-usage.md +35 -18
- package/dist/docs/docs/weaver-config.md +20 -0
- package/dist/docs/docs/weaver-task-queue.md +31 -19
- package/dist/docs/weaver-config.md +15 -9
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-tools.d.ts +17 -0
- package/dist/mcp-tools.d.ts.map +1 -1
- package/dist/mcp-tools.js +98 -279
- package/dist/mcp-tools.js.map +1 -1
- package/dist/node-types/bot-report.d.ts.map +1 -1
- package/dist/node-types/bot-report.js +6 -24
- package/dist/node-types/bot-report.js.map +1 -1
- package/dist/node-types/orchestrator-dispatch.d.ts +17 -0
- package/dist/node-types/orchestrator-dispatch.d.ts.map +1 -0
- package/dist/node-types/orchestrator-dispatch.js +63 -0
- package/dist/node-types/orchestrator-dispatch.js.map +1 -0
- package/dist/node-types/orchestrator-load-state.d.ts +16 -0
- package/dist/node-types/orchestrator-load-state.d.ts.map +1 -0
- package/dist/node-types/orchestrator-load-state.js +60 -0
- package/dist/node-types/orchestrator-load-state.js.map +1 -0
- package/dist/node-types/orchestrator-route.d.ts +16 -0
- package/dist/node-types/orchestrator-route.d.ts.map +1 -0
- package/dist/node-types/orchestrator-route.js +28 -0
- package/dist/node-types/orchestrator-route.js.map +1 -0
- package/dist/node-types/receive-task.d.ts +2 -3
- package/dist/node-types/receive-task.d.ts.map +1 -1
- package/dist/node-types/receive-task.js +3 -48
- package/dist/node-types/receive-task.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/ui/bot-activity.js +2 -2
- package/dist/ui/bot-constants.d.ts +14 -0
- package/dist/ui/bot-constants.d.ts.map +1 -0
- package/dist/ui/bot-constants.js +189 -0
- package/dist/ui/bot-constants.js.map +1 -0
- package/dist/ui/bot-panel.js +207 -245
- package/dist/ui/bot-slot-card.js +141 -0
- package/dist/ui/budget-bar.js +59 -0
- package/dist/ui/chat-task-result.js +178 -0
- package/dist/ui/decision-log.js +136 -0
- package/dist/ui/profile-card.js +158 -0
- package/dist/ui/profile-editor.js +597 -0
- package/dist/ui/swarm-controls.js +245 -0
- package/dist/ui/swarm-dashboard.js +3012 -0
- package/dist/ui/task-create-form.js +98 -0
- package/dist/ui/task-detail-view.js +1044 -0
- package/dist/ui/task-pool-list.js +156 -0
- package/dist/workflows/orchestrator.d.ts +21 -0
- package/dist/workflows/orchestrator.d.ts.map +1 -0
- package/dist/workflows/orchestrator.js +281 -0
- package/dist/workflows/orchestrator.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 +547 -133
- package/package.json +1 -1
- package/src/ai-chat-provider.ts +378 -371
- package/src/bot/ai-router.ts +132 -0
- package/src/bot/assistant-tools.ts +47 -29
- package/src/bot/async-mutex.ts +37 -0
- package/src/bot/bot-manager.ts +3 -3
- package/src/bot/bot-registry.ts +2 -2
- package/src/bot/conversation-store.ts +2 -1
- package/src/bot/dashboard.ts +17 -8
- package/src/bot/improve-loop.ts +6 -6
- package/src/bot/index.ts +2 -4
- package/src/bot/instance-manager.ts +128 -0
- package/src/bot/orchestrator.ts +244 -0
- package/src/bot/profile-store.ts +225 -0
- package/src/bot/profile-types.ts +141 -0
- package/src/bot/run-store.ts +8 -0
- package/src/bot/runner.ts +9 -1
- package/src/bot/swarm-controller.ts +780 -0
- package/src/bot/swarm-event-log.ts +57 -0
- package/src/bot/task-prompt-builder.ts +309 -0
- package/src/bot/task-store.ts +407 -0
- package/src/bot/task-types.ts +100 -0
- package/src/bot/types.ts +8 -0
- package/src/cli-handlers.ts +78 -53
- package/src/docs/weaver-bot-usage.md +35 -18
- package/src/docs/weaver-config.md +20 -0
- package/src/docs/weaver-task-queue.md +31 -19
- package/src/index.ts +5 -4
- package/src/mcp-tools.ts +129 -372
- package/src/node-types/bot-report.ts +6 -24
- package/src/node-types/orchestrator-dispatch.ts +71 -0
- package/src/node-types/orchestrator-load-state.ts +66 -0
- package/src/node-types/orchestrator-route.ts +33 -0
- package/src/node-types/receive-task.ts +3 -57
- package/src/ui/bot-activity.tsx +2 -2
- package/src/ui/bot-constants.ts +192 -0
- package/src/ui/bot-panel.tsx +213 -247
- package/src/ui/bot-slot-card.tsx +139 -0
- package/src/ui/budget-bar.tsx +30 -0
- package/src/ui/chat-task-result.tsx +236 -0
- package/src/ui/decision-log.tsx +148 -0
- package/src/ui/profile-card.tsx +157 -0
- package/src/ui/profile-editor.tsx +384 -0
- package/src/ui/swarm-controls.tsx +260 -0
- package/src/ui/swarm-dashboard.tsx +647 -0
- package/src/ui/task-create-form.tsx +87 -0
- package/src/ui/task-detail-view.tsx +841 -0
- package/src/ui/task-pool-list.tsx +187 -0
- package/src/workflows/orchestrator.ts +302 -0
- package/dist/docs/weaver-bot-usage.md +0 -34
- package/dist/docs/weaver-genesis.md +0 -32
- package/dist/docs/weaver-task-queue.md +0 -34
- package/dist/ui/bot-workspace.js +0 -1015
- package/dist/ui/chat-bot-result.js +0 -71
- package/dist/ui/queue-input.js +0 -82
- package/dist/ui/session-bar.js +0 -174
- package/src/bot/error-guide.ts +0 -4
- package/src/bot/retry-utils.ts +0 -4
- package/src/bot/session-state.ts +0 -116
- package/src/bot/task-queue.ts +0 -262
- package/src/ui/bot-workspace.tsx +0 -442
- package/src/ui/chat-bot-result.tsx +0 -81
- package/src/ui/queue-input.tsx +0 -56
- package/src/ui/session-bar.tsx +0 -157
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SwarmController — multi-bot orchestrator for the Weaver Swarm.
|
|
3
|
+
*
|
|
4
|
+
* Uses a centralized orchestrator dispatch loop instead of per-bot pull loops.
|
|
5
|
+
* The Orchestrator routes pending tasks to the best available bot instance,
|
|
6
|
+
* the InstanceManager handles scaling, and the ProfileStore persists profiles.
|
|
7
|
+
*
|
|
8
|
+
* Singleton per workspace via `SwarmController.getInstance(projectDir)`.
|
|
9
|
+
*/
|
|
10
|
+
import { Orchestrator } from './orchestrator.js';
|
|
11
|
+
import { InstanceManager } from './instance-manager.js';
|
|
12
|
+
import { ProfileStore } from './profile-store.js';
|
|
13
|
+
import type { BotInstance, OrchestratorDecision } from './profile-types.js';
|
|
14
|
+
export interface SwarmBudgets {
|
|
15
|
+
workspace: {
|
|
16
|
+
limitTokens: number;
|
|
17
|
+
usedTokens: number;
|
|
18
|
+
limitCost: number;
|
|
19
|
+
usedCost: number;
|
|
20
|
+
};
|
|
21
|
+
session: {
|
|
22
|
+
limitTokens: number;
|
|
23
|
+
usedTokens: number;
|
|
24
|
+
limitCost: number;
|
|
25
|
+
usedCost: number;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface SwarmState {
|
|
29
|
+
status: 'idle' | 'running' | 'paused' | 'stopping';
|
|
30
|
+
startedAt?: string;
|
|
31
|
+
/** Active bot instances managed by InstanceManager. */
|
|
32
|
+
instances: Record<string, BotInstance>;
|
|
33
|
+
maxConcurrent: number;
|
|
34
|
+
budgets: SwarmBudgets;
|
|
35
|
+
autoRetry: boolean;
|
|
36
|
+
maxAttemptsDefault: number;
|
|
37
|
+
tasksCompleted: number;
|
|
38
|
+
tasksFailed: number;
|
|
39
|
+
totalTokensUsed: number;
|
|
40
|
+
totalCost: number;
|
|
41
|
+
}
|
|
42
|
+
export interface SwarmConfig {
|
|
43
|
+
maxConcurrent?: number;
|
|
44
|
+
sessionBudgetTokens?: number;
|
|
45
|
+
sessionBudgetCost?: number;
|
|
46
|
+
workspaceBudgetTokens?: number;
|
|
47
|
+
workspaceBudgetCost?: number;
|
|
48
|
+
autoRetry?: boolean;
|
|
49
|
+
maxAttemptsDefault?: number;
|
|
50
|
+
}
|
|
51
|
+
export interface SwarmStartConfig {
|
|
52
|
+
maxConcurrent?: number;
|
|
53
|
+
sessionBudgetTokens?: number;
|
|
54
|
+
sessionBudgetCost?: number;
|
|
55
|
+
}
|
|
56
|
+
export declare class SwarmController {
|
|
57
|
+
private static instances;
|
|
58
|
+
private readonly projectDir;
|
|
59
|
+
private readonly weaverDir;
|
|
60
|
+
private readonly statePath;
|
|
61
|
+
private readonly taskStore;
|
|
62
|
+
private readonly eventLog;
|
|
63
|
+
private readonly orchestrator;
|
|
64
|
+
private readonly instanceManager;
|
|
65
|
+
private readonly profileStore;
|
|
66
|
+
private state;
|
|
67
|
+
/** Abort controller for the single dispatch loop. */
|
|
68
|
+
private dispatchAbort;
|
|
69
|
+
/** Promise for the dispatch loop (resolved when the loop exits). */
|
|
70
|
+
private dispatchLoopPromise;
|
|
71
|
+
/** Promises for currently executing tasks (instanceId -> Promise). */
|
|
72
|
+
private executionPromises;
|
|
73
|
+
/** Map of profileId -> BotRegistration for workflow execution. */
|
|
74
|
+
private profileBotMap;
|
|
75
|
+
static getInstance(projectDir: string): SwarmController;
|
|
76
|
+
/** Clear all cached instances (used by tests). */
|
|
77
|
+
static clearInstances(): void;
|
|
78
|
+
private constructor();
|
|
79
|
+
start(config?: SwarmStartConfig): Promise<void>;
|
|
80
|
+
pause(): Promise<void>;
|
|
81
|
+
stop(): Promise<void>;
|
|
82
|
+
getStatus(): SwarmState;
|
|
83
|
+
configure(config: SwarmConfig): void;
|
|
84
|
+
recover(): Promise<void>;
|
|
85
|
+
recordTokenUsage(instanceId: string, _taskId: string, tokensUsed: number, cost: number): void;
|
|
86
|
+
getProfileStore(): ProfileStore;
|
|
87
|
+
getInstanceManager(): InstanceManager;
|
|
88
|
+
getOrchestrator(): Orchestrator;
|
|
89
|
+
getOrchestratorStatus(): {
|
|
90
|
+
decisions: OrchestratorDecision[];
|
|
91
|
+
stats: {
|
|
92
|
+
totalDecisions: number;
|
|
93
|
+
assignmentsByMethod: Record<string, number>;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
private _startDispatchLoop;
|
|
97
|
+
private _dispatchLoop;
|
|
98
|
+
private _executeTask;
|
|
99
|
+
private _isBudgetExceeded;
|
|
100
|
+
/** Calculate remaining budget across session and workspace. */
|
|
101
|
+
private _remainingBudget;
|
|
102
|
+
private _checkSteering;
|
|
103
|
+
private _syncInstancesState;
|
|
104
|
+
private _loadState;
|
|
105
|
+
private _defaultState;
|
|
106
|
+
private _persist;
|
|
107
|
+
private _sleep;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=swarm-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swarm-controller.d.ts","sourceRoot":"","sources":["../../src/bot/swarm-controller.ts"],"names":[],"mappings":"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"}
|