@synergenius/flow-weaver-pack-weaver 0.9.62 → 0.9.78
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 +173 -19
- 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/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/improve-loop.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/session-state.d.ts +25 -0
- package/dist/bot/session-state.d.ts.map +1 -0
- package/dist/bot/session-state.js +110 -0
- package/dist/bot/session-state.js.map +1 -0
- package/dist/bot/swarm-controller.d.ts +37 -21
- package/dist/bot/swarm-controller.d.ts.map +1 -1
- package/dist/bot/swarm-controller.js +344 -163
- package/dist/bot/swarm-controller.js.map +1 -1
- package/dist/bot/task-prompt-builder.d.ts +2 -1
- package/dist/bot/task-prompt-builder.d.ts.map +1 -1
- package/dist/bot/task-prompt-builder.js +33 -10
- package/dist/bot/task-prompt-builder.js.map +1 -1
- package/dist/bot/task-queue.d.ts +46 -0
- package/dist/bot/task-queue.d.ts.map +1 -0
- package/dist/bot/task-queue.js +237 -0
- package/dist/bot/task-queue.js.map +1 -0
- package/dist/bot/task-store.d.ts +1 -6
- package/dist/bot/task-store.d.ts.map +1 -1
- package/dist/bot/task-store.js +27 -78
- package/dist/bot/task-store.js.map +1 -1
- package/dist/bot/task-types.d.ts +8 -4
- package/dist/bot/task-types.d.ts.map +1 -1
- package/dist/cli-handlers.d.ts.map +1 -1
- package/dist/cli-handlers.js +2 -3
- 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/mcp-tools.d.ts +17 -0
- package/dist/mcp-tools.d.ts.map +1 -1
- package/dist/mcp-tools.js +98 -232
- package/dist/mcp-tools.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 -28
- 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-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 +51 -90
- package/dist/ui/bot-slot-card.js +87 -122
- package/dist/ui/budget-bar.js +5 -3
- package/dist/ui/chat-task-result.js +4 -7
- 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 +36 -27
- package/dist/ui/swarm-dashboard.js +2034 -736
- package/dist/ui/task-create-form.js +39 -116
- package/dist/ui/task-detail-view.js +490 -239
- package/dist/ui/task-pool-list.js +69 -94
- 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 +253 -66
- package/package.json +1 -1
- package/src/ai-chat-provider.ts +184 -18
- package/src/bot/ai-router.ts +132 -0
- package/src/bot/bot-registry.ts +2 -2
- package/src/bot/conversation-store.ts +2 -1
- package/src/bot/improve-loop.ts +6 -6
- 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/swarm-controller.ts +385 -186
- package/src/bot/task-prompt-builder.ts +37 -6
- package/src/bot/task-store.ts +28 -89
- package/src/bot/task-types.ts +10 -4
- package/src/cli-handlers.ts +2 -3
- 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/mcp-tools.ts +129 -320
- 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 -26
- package/src/ui/bot-constants.ts +192 -0
- package/src/ui/bot-panel.tsx +55 -79
- package/src/ui/bot-slot-card.tsx +69 -117
- package/src/ui/budget-bar.tsx +5 -3
- package/src/ui/chat-task-result.tsx +6 -9
- 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 +35 -31
- package/src/ui/swarm-dashboard.tsx +409 -80
- package/src/ui/task-create-form.tsx +29 -119
- package/src/ui/task-detail-view.tsx +461 -215
- package/src/ui/task-pool-list.tsx +74 -95
- 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/src/bot/error-guide.ts +0 -4
- package/src/bot/retry-utils.ts +0 -4
|
@@ -35,17 +35,17 @@ var {
|
|
|
35
35
|
toast,
|
|
36
36
|
usePackWorkspace
|
|
37
37
|
} = require("@fw/plugin-ui-kit");
|
|
38
|
-
function
|
|
38
|
+
function swarmStatusToIconStatus(status) {
|
|
39
39
|
switch (status) {
|
|
40
40
|
case "running":
|
|
41
|
-
return "
|
|
41
|
+
return "running";
|
|
42
42
|
case "paused":
|
|
43
|
-
return "
|
|
43
|
+
return "pending";
|
|
44
44
|
case "stopping":
|
|
45
|
-
return "
|
|
45
|
+
return "failed";
|
|
46
46
|
case "idle":
|
|
47
47
|
default:
|
|
48
|
-
return "
|
|
48
|
+
return "completed";
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
function statusLabel(status) {
|
|
@@ -61,9 +61,9 @@ function statusLabel(status) {
|
|
|
61
61
|
return "Idle";
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
function
|
|
65
|
-
const entries = Object.values(
|
|
66
|
-
const active = entries.filter((
|
|
64
|
+
function countActiveInstances(instances) {
|
|
65
|
+
const entries = Object.values(instances);
|
|
66
|
+
const active = entries.filter((i) => i.status === "executing").length;
|
|
67
67
|
return { active, total: entries.length };
|
|
68
68
|
}
|
|
69
69
|
function SwarmControls({ swarmStatus, onRefresh }) {
|
|
@@ -72,8 +72,8 @@ function SwarmControls({ swarmStatus, onRefresh }) {
|
|
|
72
72
|
const [pausing, setPausing] = useState(false);
|
|
73
73
|
const [stopping, setStopping] = useState(false);
|
|
74
74
|
const status = swarmStatus?.status ?? "idle";
|
|
75
|
-
const
|
|
76
|
-
const { active, total } =
|
|
75
|
+
const instances = swarmStatus?.instances ?? {};
|
|
76
|
+
const { active, total } = countActiveInstances(instances);
|
|
77
77
|
const isIdle = status === "idle";
|
|
78
78
|
const isRunning = status === "running";
|
|
79
79
|
const isPaused = status === "paused";
|
|
@@ -131,6 +131,15 @@ function SwarmControls({ swarmStatus, onRefresh }) {
|
|
|
131
131
|
}, [ctx, onRefresh]);
|
|
132
132
|
const handleStop = useCallback(async () => {
|
|
133
133
|
setStopping(true);
|
|
134
|
+
const ok = await ctx.confirm("This will stop all running instances and abort active tasks.", {
|
|
135
|
+
title: "Stop Swarm",
|
|
136
|
+
confirmLabel: "Stop",
|
|
137
|
+
state: "danger"
|
|
138
|
+
});
|
|
139
|
+
if (!ok) {
|
|
140
|
+
setStopping(false);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
134
143
|
try {
|
|
135
144
|
const result = await ctx.callTool("fw_weaver_swarm_stop", {});
|
|
136
145
|
const data = result;
|
|
@@ -152,9 +161,9 @@ function SwarmControls({ swarmStatus, onRefresh }) {
|
|
|
152
161
|
{
|
|
153
162
|
variant: "row-center-space-between-nowrap-10",
|
|
154
163
|
style: {
|
|
155
|
-
flexShrink: 0,
|
|
156
164
|
padding: "8px 16px",
|
|
157
165
|
borderBottom: "1px solid var(--color-border-default)",
|
|
166
|
+
flexShrink: 0,
|
|
158
167
|
backgroundColor: isRunning ? "var(--color-brand-main-alpha-10)" : isPaused ? "var(--color-status-caution-alpha-10)" : "transparent"
|
|
159
168
|
}
|
|
160
169
|
},
|
|
@@ -163,12 +172,11 @@ function SwarmControls({ swarmStatus, onRefresh }) {
|
|
|
163
172
|
Flex,
|
|
164
173
|
{ variant: "row-center-start-nowrap-8", style: { flexShrink: 0 } },
|
|
165
174
|
React.createElement(StatusIcon, {
|
|
166
|
-
|
|
167
|
-
size:
|
|
175
|
+
status: swarmStatusToIconStatus(status),
|
|
176
|
+
size: "sm"
|
|
168
177
|
}),
|
|
169
178
|
React.createElement(Typography, {
|
|
170
|
-
variant: "caption-bold"
|
|
171
|
-
style: { textTransform: "capitalize" }
|
|
179
|
+
variant: "caption-bold"
|
|
172
180
|
}, statusLabel(status))
|
|
173
181
|
),
|
|
174
182
|
// Center: bot count + stats
|
|
@@ -176,7 +184,7 @@ function SwarmControls({ swarmStatus, onRefresh }) {
|
|
|
176
184
|
Flex,
|
|
177
185
|
{
|
|
178
186
|
variant: "row-center-start-nowrap-12",
|
|
179
|
-
style: { flex: 1
|
|
187
|
+
style: { flex: 1 }
|
|
180
188
|
},
|
|
181
189
|
total > 0 && React.createElement(Typography, {
|
|
182
190
|
variant: "caption-regular",
|
|
@@ -194,27 +202,29 @@ function SwarmControls({ swarmStatus, onRefresh }) {
|
|
|
194
202
|
// Right: action buttons
|
|
195
203
|
React.createElement(
|
|
196
204
|
Flex,
|
|
197
|
-
{ variant: "row-center-start-nowrap-
|
|
205
|
+
{ variant: "row-center-start-nowrap-4", style: { flexShrink: 0 } },
|
|
198
206
|
// Start / Resume button
|
|
199
207
|
(isIdle || isPaused) && React.createElement(Button, {
|
|
200
|
-
size: "
|
|
201
|
-
variant: "
|
|
208
|
+
size: "xs",
|
|
209
|
+
variant: "outlined",
|
|
210
|
+
color: "primary",
|
|
202
211
|
onClick: isPaused ? handleResume : handleStart,
|
|
203
212
|
loading: starting,
|
|
204
213
|
disabled: anyLoading
|
|
205
214
|
}, isPaused ? "Resume" : "Start"),
|
|
206
215
|
// Pause button (only when running)
|
|
207
216
|
isRunning && React.createElement(Button, {
|
|
208
|
-
size: "
|
|
209
|
-
variant: "
|
|
217
|
+
size: "xs",
|
|
218
|
+
variant: "outlined",
|
|
219
|
+
color: "warning",
|
|
210
220
|
onClick: handlePause,
|
|
211
221
|
loading: pausing,
|
|
212
222
|
disabled: anyLoading
|
|
213
223
|
}, "Pause"),
|
|
214
224
|
// Stop button (when running or paused)
|
|
215
225
|
(isRunning || isPaused) && React.createElement(Button, {
|
|
216
|
-
size: "
|
|
217
|
-
variant: "
|
|
226
|
+
size: "xs",
|
|
227
|
+
variant: "outlined",
|
|
218
228
|
color: "danger",
|
|
219
229
|
onClick: handleStop,
|
|
220
230
|
loading: stopping,
|
|
@@ -222,12 +232,11 @@ function SwarmControls({ swarmStatus, onRefresh }) {
|
|
|
222
232
|
}, "Stop"),
|
|
223
233
|
// Refresh button (always available)
|
|
224
234
|
React.createElement(IconButton, {
|
|
225
|
-
icon: "
|
|
235
|
+
icon: "reset",
|
|
226
236
|
size: "xs",
|
|
227
|
-
variant: "
|
|
237
|
+
variant: "outlined",
|
|
228
238
|
onClick: onRefresh,
|
|
229
|
-
disabled: anyLoading
|
|
230
|
-
title: "Refresh swarm status"
|
|
239
|
+
disabled: anyLoading
|
|
231
240
|
})
|
|
232
241
|
)
|
|
233
242
|
);
|