@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.
Files changed (162) hide show
  1. package/dist/ai-chat-provider.d.ts +12 -0
  2. package/dist/ai-chat-provider.d.ts.map +1 -1
  3. package/dist/ai-chat-provider.js +173 -19
  4. package/dist/ai-chat-provider.js.map +1 -1
  5. package/dist/bot/agent-loop.d.ts +20 -0
  6. package/dist/bot/agent-loop.d.ts.map +1 -0
  7. package/dist/bot/agent-loop.js +331 -0
  8. package/dist/bot/agent-loop.js.map +1 -0
  9. package/dist/bot/ai-router.d.ts +19 -0
  10. package/dist/bot/ai-router.d.ts.map +1 -0
  11. package/dist/bot/ai-router.js +104 -0
  12. package/dist/bot/ai-router.js.map +1 -0
  13. package/dist/bot/bot-registry.js +2 -2
  14. package/dist/bot/bot-registry.js.map +1 -1
  15. package/dist/bot/conversation-store.d.ts +1 -0
  16. package/dist/bot/conversation-store.d.ts.map +1 -1
  17. package/dist/bot/conversation-store.js.map +1 -1
  18. package/dist/bot/improve-loop.js.map +1 -1
  19. package/dist/bot/instance-manager.d.ts +31 -0
  20. package/dist/bot/instance-manager.d.ts.map +1 -0
  21. package/dist/bot/instance-manager.js +115 -0
  22. package/dist/bot/instance-manager.js.map +1 -0
  23. package/dist/bot/orchestrator.d.ts +36 -0
  24. package/dist/bot/orchestrator.d.ts.map +1 -0
  25. package/dist/bot/orchestrator.js +176 -0
  26. package/dist/bot/orchestrator.js.map +1 -0
  27. package/dist/bot/profile-store.d.ts +36 -0
  28. package/dist/bot/profile-store.d.ts.map +1 -0
  29. package/dist/bot/profile-store.js +208 -0
  30. package/dist/bot/profile-store.js.map +1 -0
  31. package/dist/bot/profile-types.d.ts +126 -0
  32. package/dist/bot/profile-types.d.ts.map +1 -0
  33. package/dist/bot/profile-types.js +7 -0
  34. package/dist/bot/profile-types.js.map +1 -0
  35. package/dist/bot/session-state.d.ts +25 -0
  36. package/dist/bot/session-state.d.ts.map +1 -0
  37. package/dist/bot/session-state.js +110 -0
  38. package/dist/bot/session-state.js.map +1 -0
  39. package/dist/bot/swarm-controller.d.ts +37 -21
  40. package/dist/bot/swarm-controller.d.ts.map +1 -1
  41. package/dist/bot/swarm-controller.js +344 -163
  42. package/dist/bot/swarm-controller.js.map +1 -1
  43. package/dist/bot/task-prompt-builder.d.ts +2 -1
  44. package/dist/bot/task-prompt-builder.d.ts.map +1 -1
  45. package/dist/bot/task-prompt-builder.js +33 -10
  46. package/dist/bot/task-prompt-builder.js.map +1 -1
  47. package/dist/bot/task-queue.d.ts +46 -0
  48. package/dist/bot/task-queue.d.ts.map +1 -0
  49. package/dist/bot/task-queue.js +237 -0
  50. package/dist/bot/task-queue.js.map +1 -0
  51. package/dist/bot/task-store.d.ts +1 -6
  52. package/dist/bot/task-store.d.ts.map +1 -1
  53. package/dist/bot/task-store.js +27 -78
  54. package/dist/bot/task-store.js.map +1 -1
  55. package/dist/bot/task-types.d.ts +8 -4
  56. package/dist/bot/task-types.d.ts.map +1 -1
  57. package/dist/cli-handlers.d.ts.map +1 -1
  58. package/dist/cli-handlers.js +2 -3
  59. package/dist/cli-handlers.js.map +1 -1
  60. package/dist/cli.d.ts +3 -0
  61. package/dist/cli.d.ts.map +1 -0
  62. package/dist/cli.js +749 -0
  63. package/dist/cli.js.map +1 -0
  64. package/dist/docs/docs/weaver-bot-usage.md +35 -18
  65. package/dist/docs/docs/weaver-config.md +20 -0
  66. package/dist/docs/docs/weaver-task-queue.md +31 -19
  67. package/dist/docs/weaver-config.md +15 -9
  68. package/dist/mcp-tools.d.ts +17 -0
  69. package/dist/mcp-tools.d.ts.map +1 -1
  70. package/dist/mcp-tools.js +98 -232
  71. package/dist/mcp-tools.js.map +1 -1
  72. package/dist/node-types/orchestrator-dispatch.d.ts +17 -0
  73. package/dist/node-types/orchestrator-dispatch.d.ts.map +1 -0
  74. package/dist/node-types/orchestrator-dispatch.js +63 -0
  75. package/dist/node-types/orchestrator-dispatch.js.map +1 -0
  76. package/dist/node-types/orchestrator-load-state.d.ts +16 -0
  77. package/dist/node-types/orchestrator-load-state.d.ts.map +1 -0
  78. package/dist/node-types/orchestrator-load-state.js +60 -0
  79. package/dist/node-types/orchestrator-load-state.js.map +1 -0
  80. package/dist/node-types/orchestrator-route.d.ts +16 -0
  81. package/dist/node-types/orchestrator-route.d.ts.map +1 -0
  82. package/dist/node-types/orchestrator-route.js +28 -0
  83. package/dist/node-types/orchestrator-route.js.map +1 -0
  84. package/dist/node-types/receive-task.d.ts +2 -3
  85. package/dist/node-types/receive-task.d.ts.map +1 -1
  86. package/dist/node-types/receive-task.js +3 -28
  87. package/dist/node-types/receive-task.js.map +1 -1
  88. package/dist/templates/weaver-template.d.ts +11 -0
  89. package/dist/templates/weaver-template.d.ts.map +1 -0
  90. package/dist/templates/weaver-template.js +53 -0
  91. package/dist/templates/weaver-template.js.map +1 -0
  92. package/dist/ui/bot-constants.d.ts +14 -0
  93. package/dist/ui/bot-constants.d.ts.map +1 -0
  94. package/dist/ui/bot-constants.js +189 -0
  95. package/dist/ui/bot-constants.js.map +1 -0
  96. package/dist/ui/bot-panel.js +51 -90
  97. package/dist/ui/bot-slot-card.js +87 -122
  98. package/dist/ui/budget-bar.js +5 -3
  99. package/dist/ui/chat-task-result.js +4 -7
  100. package/dist/ui/decision-log.js +136 -0
  101. package/dist/ui/profile-card.js +158 -0
  102. package/dist/ui/profile-editor.js +597 -0
  103. package/dist/ui/swarm-controls.js +36 -27
  104. package/dist/ui/swarm-dashboard.js +2034 -736
  105. package/dist/ui/task-create-form.js +39 -116
  106. package/dist/ui/task-detail-view.js +490 -239
  107. package/dist/ui/task-pool-list.js +69 -94
  108. package/dist/workflows/orchestrator.d.ts +21 -0
  109. package/dist/workflows/orchestrator.d.ts.map +1 -0
  110. package/dist/workflows/orchestrator.js +281 -0
  111. package/dist/workflows/orchestrator.js.map +1 -0
  112. package/dist/workflows/weaver-bot-session.d.ts +65 -0
  113. package/dist/workflows/weaver-bot-session.d.ts.map +1 -0
  114. package/dist/workflows/weaver-bot-session.js +68 -0
  115. package/dist/workflows/weaver-bot-session.js.map +1 -0
  116. package/dist/workflows/weaver.d.ts +24 -0
  117. package/dist/workflows/weaver.d.ts.map +1 -0
  118. package/dist/workflows/weaver.js +28 -0
  119. package/dist/workflows/weaver.js.map +1 -0
  120. package/flowweaver.manifest.json +253 -66
  121. package/package.json +1 -1
  122. package/src/ai-chat-provider.ts +184 -18
  123. package/src/bot/ai-router.ts +132 -0
  124. package/src/bot/bot-registry.ts +2 -2
  125. package/src/bot/conversation-store.ts +2 -1
  126. package/src/bot/improve-loop.ts +6 -6
  127. package/src/bot/instance-manager.ts +128 -0
  128. package/src/bot/orchestrator.ts +244 -0
  129. package/src/bot/profile-store.ts +225 -0
  130. package/src/bot/profile-types.ts +141 -0
  131. package/src/bot/swarm-controller.ts +385 -186
  132. package/src/bot/task-prompt-builder.ts +37 -6
  133. package/src/bot/task-store.ts +28 -89
  134. package/src/bot/task-types.ts +10 -4
  135. package/src/cli-handlers.ts +2 -3
  136. package/src/docs/weaver-bot-usage.md +35 -18
  137. package/src/docs/weaver-config.md +20 -0
  138. package/src/docs/weaver-task-queue.md +31 -19
  139. package/src/mcp-tools.ts +129 -320
  140. package/src/node-types/orchestrator-dispatch.ts +71 -0
  141. package/src/node-types/orchestrator-load-state.ts +66 -0
  142. package/src/node-types/orchestrator-route.ts +33 -0
  143. package/src/node-types/receive-task.ts +3 -26
  144. package/src/ui/bot-constants.ts +192 -0
  145. package/src/ui/bot-panel.tsx +55 -79
  146. package/src/ui/bot-slot-card.tsx +69 -117
  147. package/src/ui/budget-bar.tsx +5 -3
  148. package/src/ui/chat-task-result.tsx +6 -9
  149. package/src/ui/decision-log.tsx +148 -0
  150. package/src/ui/profile-card.tsx +157 -0
  151. package/src/ui/profile-editor.tsx +384 -0
  152. package/src/ui/swarm-controls.tsx +35 -31
  153. package/src/ui/swarm-dashboard.tsx +409 -80
  154. package/src/ui/task-create-form.tsx +29 -119
  155. package/src/ui/task-detail-view.tsx +461 -215
  156. package/src/ui/task-pool-list.tsx +74 -95
  157. package/src/workflows/orchestrator.ts +302 -0
  158. package/dist/docs/weaver-bot-usage.md +0 -34
  159. package/dist/docs/weaver-genesis.md +0 -32
  160. package/dist/docs/weaver-task-queue.md +0 -34
  161. package/src/bot/error-guide.ts +0 -4
  162. 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 statusToVariant(status) {
38
+ function swarmStatusToIconStatus(status) {
39
39
  switch (status) {
40
40
  case "running":
41
- return "positive";
41
+ return "running";
42
42
  case "paused":
43
- return "caution";
43
+ return "pending";
44
44
  case "stopping":
45
- return "negative";
45
+ return "failed";
46
46
  case "idle":
47
47
  default:
48
- return "neutral";
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 countActiveBots(bots) {
65
- const entries = Object.values(bots);
66
- const active = entries.filter((b) => b.status === "executing").length;
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 bots = swarmStatus?.bots ?? {};
76
- const { active, total } = countActiveBots(bots);
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
- variant: statusToVariant(status),
167
- size: 10
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, fontSize: "12px" }
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-6", style: { flexShrink: 0 } },
205
+ { variant: "row-center-start-nowrap-4", style: { flexShrink: 0 } },
198
206
  // Start / Resume button
199
207
  (isIdle || isPaused) && React.createElement(Button, {
200
- size: "sm",
201
- variant: "clear",
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: "sm",
209
- variant: "clear",
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: "sm",
217
- variant: "clear",
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: "refresh",
235
+ icon: "reset",
226
236
  size: "xs",
227
- variant: "clear",
237
+ variant: "outlined",
228
238
  onClick: onRefresh,
229
- disabled: anyLoading,
230
- title: "Refresh swarm status"
239
+ disabled: anyLoading
231
240
  })
232
241
  )
233
242
  );