@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
@@ -25,8 +25,8 @@ __export(task_pool_list_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(task_pool_list_exports);
27
27
  var React = require("react");
28
- var { Flex, Typography, Icon, StatusIcon, Tag, ScrollArea, Badge } = require("@fw/plugin-ui-kit");
29
- var { styled } = require("@fw/plugin-theme");
28
+ var { useState } = React;
29
+ var { Flex, Typography, Icon, StatusIcon, Tag, ScrollArea, Badge, EmptyState } = require("@fw/plugin-ui-kit");
30
30
  var statusToIcon = {
31
31
  "pending": "pending",
32
32
  "in-progress": "running",
@@ -35,50 +35,15 @@ var statusToIcon = {
35
35
  "blocked": "pending",
36
36
  "cancelled": "failed"
37
37
  };
38
- var statusToColor = {
39
- "pending": "color-text-subtle",
40
- "in-progress": "color-status-info",
41
- "done": "color-status-positive",
42
- "failed": "color-status-negative",
43
- "blocked": "color-status-caution",
44
- "cancelled": "color-text-subtle"
45
- };
46
- var Container = styled.div({
47
- display: "flex",
48
- flexDirection: "column",
49
- height: "100%",
50
- overflow: "hidden"
51
- });
52
- var TaskRow = styled.div({
53
- display: "flex",
54
- alignItems: "center",
55
- gap: "8px",
38
+ var rowBaseStyle = {
56
39
  padding: "8px 12px",
57
40
  cursor: "pointer",
58
- borderBottom: "1px solid $color-border-default",
59
- "&:hover": { backgroundColor: "$color-surface-elevated" }
60
- });
61
- var TitleText = styled.div({
62
- flex: 1,
63
- overflow: "hidden",
64
- textOverflow: "ellipsis",
65
- whiteSpace: "nowrap",
66
- minWidth: 0
67
- });
68
- var BotTags = styled.div({
69
- display: "flex",
70
- gap: "4px",
71
- flexShrink: 0
72
- });
73
- var EmptyState = styled.div({
74
- display: "flex",
75
- flexDirection: "column",
76
- alignItems: "center",
77
- justifyContent: "center",
78
- gap: "8px",
79
- padding: "24px 16px",
80
- flex: 1
81
- });
41
+ borderBottom: "1px solid var(--color-border-default)"
42
+ };
43
+ var indentedRowStyle = {
44
+ ...rowBaseStyle,
45
+ paddingLeft: "32px"
46
+ };
82
47
  function sortTasks(tasks) {
83
48
  return [...tasks].sort((a, b) => {
84
49
  if (b.priority !== a.priority) return b.priority - a.priority;
@@ -114,65 +79,75 @@ function buildHierarchy(tasks) {
114
79
  }
115
80
  return result;
116
81
  }
117
- function TaskPoolList({ tasks, onTaskClick }) {
118
- if (!tasks || tasks.length === 0) {
119
- return React.createElement(
120
- EmptyState,
121
- null,
122
- React.createElement(Icon, { name: "inbox", size: 20, color: "color-text-subtle" }),
82
+ function TaskRowItem({ task, indent, onClick }) {
83
+ const [hovered, setHovered] = useState(false);
84
+ const style = {
85
+ ...indent ? indentedRowStyle : rowBaseStyle,
86
+ ...hovered ? { backgroundColor: "var(--color-surface-elevated)" } : void 0
87
+ };
88
+ return React.createElement(
89
+ Flex,
90
+ {
91
+ variant: "row-center-start-nowrap-8",
92
+ style,
93
+ onClick,
94
+ onMouseEnter: () => setHovered(true),
95
+ onMouseLeave: () => setHovered(false)
96
+ },
97
+ // Status icon
98
+ React.createElement(StatusIcon, {
99
+ status: statusToIcon[task.status] || "pending",
100
+ size: "sm"
101
+ }),
102
+ // Title
103
+ React.createElement(
104
+ Flex,
105
+ {
106
+ variant: "row-center-start-nowrap-0",
107
+ style: { flex: 1, minWidth: 0 }
108
+ },
123
109
  React.createElement(Typography, {
124
110
  variant: "caption-regular",
125
- color: "color-text-subtle"
126
- }, "No tasks in the pool.")
127
- );
111
+ color: task.status === "cancelled" ? "color-text-subtle" : "color-text-high",
112
+ truncate: true,
113
+ style: task.status === "cancelled" ? { textDecoration: "line-through", opacity: 0.6 } : void 0
114
+ }, task.title)
115
+ ),
116
+ // Assigned profile as Tag
117
+ task.assignedProfile && React.createElement(Tag, {
118
+ size: "small",
119
+ color: "info"
120
+ }, task.assignedProfile),
121
+ // Priority badge (only if > 0)
122
+ task.priority > 0 && React.createElement(Badge, {
123
+ variant: task.priority >= 3 ? "warning" : "info"
124
+ }, `P${task.priority}`)
125
+ );
126
+ }
127
+ function TaskPoolList({ tasks, onTaskClick }) {
128
+ if (!tasks || tasks.length === 0) {
129
+ return React.createElement(EmptyState, {
130
+ icon: "inbox",
131
+ message: "No tasks in the pool."
132
+ });
128
133
  }
129
134
  const rows = buildHierarchy(tasks);
130
135
  return React.createElement(
131
- Container,
132
- null,
136
+ Flex,
137
+ {
138
+ variant: "column-stretch-start-nowrap-0",
139
+ style: { height: "100%", overflow: "hidden" }
140
+ },
133
141
  React.createElement(
134
142
  ScrollArea,
135
143
  { style: { flex: 1 } },
136
144
  rows.map(
137
- ({ task, indent }) => React.createElement(
138
- TaskRow,
139
- {
140
- key: task.id,
141
- style: indent ? { paddingLeft: "32px" } : void 0,
142
- onClick: () => onTaskClick(task.id)
143
- },
144
- // Status icon
145
- React.createElement(StatusIcon, {
146
- status: statusToIcon[task.status] || "pending",
147
- size: "sm"
148
- }),
149
- // Title
150
- React.createElement(
151
- TitleText,
152
- null,
153
- React.createElement(Typography, {
154
- variant: "caption-regular",
155
- color: statusToColor[task.status] === "color-text-subtle" && task.status === "cancelled" ? "color-text-subtle" : "color-text-high",
156
- style: task.status === "cancelled" ? { textDecoration: "line-through", opacity: 0.6 } : void 0
157
- }, task.title)
158
- ),
159
- // Assigned bots as Tags
160
- task.assignedBots.length > 0 && React.createElement(
161
- BotTags,
162
- null,
163
- task.assignedBots.map(
164
- (botId) => React.createElement(Tag, {
165
- key: botId,
166
- size: "small",
167
- color: "info"
168
- }, botId)
169
- )
170
- ),
171
- // Priority badge (only if > 0)
172
- task.priority > 0 && React.createElement(Badge, {
173
- variant: task.priority >= 3 ? "warning" : "info"
174
- }, `P${task.priority}`)
175
- )
145
+ ({ task, indent }) => React.createElement(TaskRowItem, {
146
+ key: task.id,
147
+ task,
148
+ indent,
149
+ onClick: () => onTaskClick(task.id)
150
+ })
176
151
  )
177
152
  )
178
153
  );
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @flowWeaver workflow
3
+ * @node load orchestratorLoadState [position: 200 300]
4
+ * @node route orchestratorRoute [position: 450 300]
5
+ * @node dispatch orchestratorDispatch [position: 700 300]
6
+ * @path Start -> load -> route -> dispatch -> Exit
7
+ * @position Start 0 0
8
+ * @position Exit 1080 0
9
+ * @connect dispatch.results -> Exit.results
10
+ * @param execute [order:-1] - Execute
11
+ * @param projectDir [order:0] - ProjectDir
12
+ * @returns onSuccess [order:-1] - On Success
13
+ * @returns results [order:0] - Results
14
+ */
15
+ export declare function orchestratorWorkflow(execute: boolean, params: {
16
+ projectDir: string;
17
+ }, __abortSignal__?: AbortSignal): Promise<{
18
+ onSuccess: boolean;
19
+ results: string | null;
20
+ }>;
21
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/workflows/orchestrator.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,EAC9B,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA6QzD"}
@@ -0,0 +1,281 @@
1
+ import { orchestratorLoadState } from '../node-types/orchestrator-load-state.js';
2
+ import { orchestratorRoute } from '../node-types/orchestrator-route.js';
3
+ import { orchestratorDispatch } from '../node-types/orchestrator-dispatch.js';
4
+ // @flow-weaver-runtime-start
5
+ // ============================================================================
6
+ // DO NOT EDIT - This section is auto-generated by Flow Weaver
7
+ // ============================================================================
8
+ import { GeneratedExecutionContext, CancellationError } from '@synergenius/flow-weaver/runtime';
9
+ // @flow-weaver-runtime-end
10
+ /**
11
+ * @flowWeaver workflow
12
+ * @node load orchestratorLoadState [position: 200 300]
13
+ * @node route orchestratorRoute [position: 450 300]
14
+ * @node dispatch orchestratorDispatch [position: 700 300]
15
+ * @path Start -> load -> route -> dispatch -> Exit
16
+ * @position Start 0 0
17
+ * @position Exit 1080 0
18
+ * @connect dispatch.results -> Exit.results
19
+ * @param execute [order:-1] - Execute
20
+ * @param projectDir [order:0] - ProjectDir
21
+ * @returns onSuccess [order:-1] - On Success
22
+ * @returns results [order:0] - Results
23
+ */
24
+ export async function orchestratorWorkflow(execute, params, __abortSignal__) {
25
+ // @flow-weaver-body-start
26
+ // ============================================================================
27
+ // DO NOT EDIT - This section is auto-generated by Flow Weaver
28
+ // Edit the @flowWeaver annotations above to modify workflow behavior
29
+ // ============================================================================
30
+ const __effectiveDebugger__ = typeof __flowWeaverDebugger__ !== 'undefined' ? __flowWeaverDebugger__ : undefined;
31
+ // Recursion depth protection
32
+ const __rd__ = params.__rd__ ?? 0;
33
+ if (__rd__ >= 1000) {
34
+ throw new Error('Max recursion depth exceeded (1000) in workflow "orchestratorWorkflow"');
35
+ }
36
+ const ctx = new GeneratedExecutionContext(true, __effectiveDebugger__, __abortSignal__);
37
+ // Debug controller for step-through debugging and checkpoint/resume
38
+ const __ctrl__ = (typeof globalThis !== 'undefined' && globalThis.__fw_debug_controller__
39
+ ? globalThis.__fw_debug_controller__
40
+ : { beforeNode: () => true, afterNode: () => { } });
41
+ const startIdx = ctx.addExecution('Start');
42
+ await ctx.setVariable({ id: 'Start', portName: 'execute', executionIndex: startIdx, nodeTypeName: 'Start' }, execute);
43
+ await ctx.setVariable({ id: 'Start', portName: 'projectDir', executionIndex: startIdx, nodeTypeName: 'Start' }, params.projectDir);
44
+ await ctx.sendStatusChangedEvent({
45
+ nodeTypeName: 'Start',
46
+ id: 'Start',
47
+ executionIndex: startIdx,
48
+ status: 'SUCCEEDED',
49
+ });
50
+ let loadIdx;
51
+ let routeIdx;
52
+ let dispatchIdx;
53
+ let load_success = false;
54
+ let route_success = false;
55
+ if (await __ctrl__.beforeNode('load', ctx)) {
56
+ // ── load (orchestratorLoadState) ──
57
+ ctx.checkAborted('load');
58
+ loadIdx = ctx.addExecution('load');
59
+ if (typeof globalThis !== 'undefined')
60
+ globalThis.__fw_current_node_id__ = 'load';
61
+ await ctx.sendStatusChangedEvent({
62
+ nodeTypeName: 'orchestratorLoadState',
63
+ id: 'load',
64
+ executionIndex: loadIdx,
65
+ status: 'RUNNING',
66
+ });
67
+ load_success = false;
68
+ try {
69
+ const load_execute = await ctx.getVariable({ id: 'Start', portName: 'execute', executionIndex: startIdx });
70
+ await ctx.setVariable({ id: 'load', portName: 'execute', executionIndex: loadIdx, nodeTypeName: 'orchestratorLoadState' }, load_execute);
71
+ const load_projectDir = await ctx.getVariable({ id: 'Start', portName: 'projectDir', executionIndex: startIdx });
72
+ await ctx.setVariable({ id: 'load', portName: 'projectDir', executionIndex: loadIdx, nodeTypeName: 'orchestratorLoadState' }, load_projectDir);
73
+ const loadResult = await orchestratorLoadState(load_execute, load_projectDir);
74
+ await ctx.setVariable({ id: 'load', portName: 'state', executionIndex: loadIdx, nodeTypeName: 'orchestratorLoadState' }, loadResult.state);
75
+ await ctx.setVariable({ id: 'load', portName: 'onSuccess', executionIndex: loadIdx, nodeTypeName: 'orchestratorLoadState' }, loadResult.onSuccess);
76
+ await ctx.setVariable({ id: 'load', portName: 'onFailure', executionIndex: loadIdx, nodeTypeName: 'orchestratorLoadState' }, loadResult.onFailure);
77
+ await ctx.sendStatusChangedEvent({
78
+ nodeTypeName: 'orchestratorLoadState',
79
+ id: 'load',
80
+ executionIndex: loadIdx,
81
+ status: 'SUCCEEDED',
82
+ });
83
+ await __ctrl__.afterNode('load', ctx);
84
+ load_success = loadResult.onSuccess;
85
+ }
86
+ catch (error) {
87
+ const isCancellation = CancellationError.isCancellationError(error);
88
+ await ctx.sendStatusChangedEvent({
89
+ nodeTypeName: 'orchestratorLoadState',
90
+ id: 'load',
91
+ executionIndex: loadIdx,
92
+ status: isCancellation ? 'CANCELLED' : 'FAILED',
93
+ });
94
+ if (!isCancellation) {
95
+ ctx.sendLogErrorEvent({
96
+ nodeTypeName: 'orchestratorLoadState',
97
+ id: 'load',
98
+ executionIndex: loadIdx,
99
+ error: error instanceof Error ? error.message : String(error),
100
+ });
101
+ await ctx.setVariable({ id: 'load', portName: 'onSuccess', executionIndex: loadIdx, nodeTypeName: 'orchestratorLoadState' }, false);
102
+ await ctx.setVariable({ id: 'load', portName: 'onFailure', executionIndex: loadIdx, nodeTypeName: 'orchestratorLoadState' }, true);
103
+ load_success = false;
104
+ }
105
+ throw error;
106
+ }
107
+ }
108
+ else {
109
+ loadIdx = ctx.addExecution('load');
110
+ load_success = true;
111
+ }
112
+ if (load_success) {
113
+ if (await __ctrl__.beforeNode('route', ctx)) {
114
+ // ── route (orchestratorRoute) ──
115
+ ctx.checkAborted('route');
116
+ routeIdx = ctx.addExecution('route');
117
+ if (typeof globalThis !== 'undefined')
118
+ globalThis.__fw_current_node_id__ = 'route';
119
+ await ctx.sendStatusChangedEvent({
120
+ nodeTypeName: 'orchestratorRoute',
121
+ id: 'route',
122
+ executionIndex: routeIdx,
123
+ status: 'RUNNING',
124
+ });
125
+ route_success = false;
126
+ try {
127
+ const route_execute = loadIdx !== undefined ? await ctx.getVariable({ id: 'load', portName: 'onSuccess', executionIndex: loadIdx }) : false;
128
+ await ctx.setVariable({ id: 'route', portName: 'execute', executionIndex: routeIdx, nodeTypeName: 'orchestratorRoute' }, route_execute);
129
+ const route_state = await ctx.getVariable({ id: 'load', portName: 'state', executionIndex: loadIdx });
130
+ await ctx.setVariable({ id: 'route', portName: 'state', executionIndex: routeIdx, nodeTypeName: 'orchestratorRoute' }, route_state);
131
+ const routeResult = await orchestratorRoute(route_execute, route_state);
132
+ await ctx.setVariable({ id: 'route', portName: 'decisions', executionIndex: routeIdx, nodeTypeName: 'orchestratorRoute' }, routeResult.decisions);
133
+ await ctx.setVariable({ id: 'route', portName: 'onSuccess', executionIndex: routeIdx, nodeTypeName: 'orchestratorRoute' }, routeResult.onSuccess);
134
+ await ctx.setVariable({ id: 'route', portName: 'onFailure', executionIndex: routeIdx, nodeTypeName: 'orchestratorRoute' }, routeResult.onFailure);
135
+ await ctx.sendStatusChangedEvent({
136
+ nodeTypeName: 'orchestratorRoute',
137
+ id: 'route',
138
+ executionIndex: routeIdx,
139
+ status: 'SUCCEEDED',
140
+ });
141
+ await __ctrl__.afterNode('route', ctx);
142
+ route_success = routeResult.onSuccess;
143
+ }
144
+ catch (error) {
145
+ const isCancellation = CancellationError.isCancellationError(error);
146
+ await ctx.sendStatusChangedEvent({
147
+ nodeTypeName: 'orchestratorRoute',
148
+ id: 'route',
149
+ executionIndex: routeIdx,
150
+ status: isCancellation ? 'CANCELLED' : 'FAILED',
151
+ });
152
+ if (!isCancellation) {
153
+ ctx.sendLogErrorEvent({
154
+ nodeTypeName: 'orchestratorRoute',
155
+ id: 'route',
156
+ executionIndex: routeIdx,
157
+ error: error instanceof Error ? error.message : String(error),
158
+ });
159
+ await ctx.setVariable({ id: 'route', portName: 'onSuccess', executionIndex: routeIdx, nodeTypeName: 'orchestratorRoute' }, false);
160
+ await ctx.setVariable({ id: 'route', portName: 'onFailure', executionIndex: routeIdx, nodeTypeName: 'orchestratorRoute' }, true);
161
+ route_success = false;
162
+ }
163
+ throw error;
164
+ }
165
+ }
166
+ else {
167
+ routeIdx = ctx.addExecution('route');
168
+ route_success = true;
169
+ }
170
+ }
171
+ else {
172
+ const routeIdx = ctx.addExecution('route');
173
+ await ctx.setVariable({ id: 'route', portName: 'onSuccess', executionIndex: routeIdx, nodeTypeName: 'orchestratorRoute' }, false);
174
+ await ctx.setVariable({ id: 'route', portName: 'onFailure', executionIndex: routeIdx, nodeTypeName: 'orchestratorRoute' }, false);
175
+ await ctx.sendStatusChangedEvent({
176
+ nodeTypeName: 'orchestratorRoute',
177
+ id: 'route',
178
+ executionIndex: routeIdx,
179
+ status: 'CANCELLED',
180
+ });
181
+ const dispatchIdx = ctx.addExecution('dispatch');
182
+ await ctx.setVariable({ id: 'dispatch', portName: 'onSuccess', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, false);
183
+ await ctx.setVariable({ id: 'dispatch', portName: 'onFailure', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, false);
184
+ await ctx.sendStatusChangedEvent({
185
+ nodeTypeName: 'orchestratorDispatch',
186
+ id: 'dispatch',
187
+ executionIndex: dispatchIdx,
188
+ status: 'CANCELLED',
189
+ });
190
+ }
191
+ if (load_success && route_success) {
192
+ if (await __ctrl__.beforeNode('dispatch', ctx)) {
193
+ // ── dispatch (orchestratorDispatch) ──
194
+ ctx.checkAborted('dispatch');
195
+ dispatchIdx = ctx.addExecution('dispatch');
196
+ if (typeof globalThis !== 'undefined')
197
+ globalThis.__fw_current_node_id__ = 'dispatch';
198
+ await ctx.sendStatusChangedEvent({
199
+ nodeTypeName: 'orchestratorDispatch',
200
+ id: 'dispatch',
201
+ executionIndex: dispatchIdx,
202
+ status: 'RUNNING',
203
+ });
204
+ try {
205
+ const dispatch_execute = routeIdx !== undefined ? await ctx.getVariable({ id: 'route', portName: 'onSuccess', executionIndex: routeIdx }) : false;
206
+ await ctx.setVariable({ id: 'dispatch', portName: 'execute', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, dispatch_execute);
207
+ const dispatch_decisions = await ctx.getVariable({ id: 'route', portName: 'decisions', executionIndex: routeIdx });
208
+ await ctx.setVariable({ id: 'dispatch', portName: 'decisions', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, dispatch_decisions);
209
+ const dispatch_projectDir = await ctx.getVariable({ id: 'Start', portName: 'projectDir', executionIndex: startIdx });
210
+ await ctx.setVariable({ id: 'dispatch', portName: 'projectDir', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, dispatch_projectDir);
211
+ const dispatchResult = await orchestratorDispatch(dispatch_execute, dispatch_decisions, dispatch_projectDir);
212
+ await ctx.setVariable({ id: 'dispatch', portName: 'results', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, dispatchResult.results);
213
+ await ctx.setVariable({ id: 'dispatch', portName: 'onSuccess', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, dispatchResult.onSuccess);
214
+ await ctx.setVariable({ id: 'dispatch', portName: 'onFailure', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, dispatchResult.onFailure);
215
+ await ctx.sendStatusChangedEvent({
216
+ nodeTypeName: 'orchestratorDispatch',
217
+ id: 'dispatch',
218
+ executionIndex: dispatchIdx,
219
+ status: 'SUCCEEDED',
220
+ });
221
+ await __ctrl__.afterNode('dispatch', ctx);
222
+ }
223
+ catch (error) {
224
+ const isCancellation = CancellationError.isCancellationError(error);
225
+ await ctx.sendStatusChangedEvent({
226
+ nodeTypeName: 'orchestratorDispatch',
227
+ id: 'dispatch',
228
+ executionIndex: dispatchIdx,
229
+ status: isCancellation ? 'CANCELLED' : 'FAILED',
230
+ });
231
+ if (!isCancellation) {
232
+ ctx.sendLogErrorEvent({
233
+ nodeTypeName: 'orchestratorDispatch',
234
+ id: 'dispatch',
235
+ executionIndex: dispatchIdx,
236
+ error: error instanceof Error ? error.message : String(error),
237
+ });
238
+ await ctx.setVariable({ id: 'dispatch', portName: 'onSuccess', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, false);
239
+ await ctx.setVariable({ id: 'dispatch', portName: 'onFailure', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, true);
240
+ }
241
+ throw error;
242
+ }
243
+ }
244
+ else {
245
+ dispatchIdx = ctx.addExecution('dispatch');
246
+ }
247
+ }
248
+ else {
249
+ const dispatchIdx = ctx.addExecution('dispatch');
250
+ await ctx.setVariable({ id: 'dispatch', portName: 'onSuccess', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, false);
251
+ await ctx.setVariable({ id: 'dispatch', portName: 'onFailure', executionIndex: dispatchIdx, nodeTypeName: 'orchestratorDispatch' }, false);
252
+ await ctx.sendStatusChangedEvent({
253
+ nodeTypeName: 'orchestratorDispatch',
254
+ id: 'dispatch',
255
+ executionIndex: dispatchIdx,
256
+ status: 'CANCELLED',
257
+ });
258
+ }
259
+ const exitIdx = ctx.addExecution('Exit');
260
+ const exit_results = dispatchIdx !== undefined ? await ctx.getVariable({ id: 'dispatch', portName: 'results', executionIndex: dispatchIdx }) : undefined;
261
+ await ctx.setVariable({ id: 'Exit', portName: 'results', executionIndex: exitIdx, nodeTypeName: 'Exit' }, exit_results);
262
+ const exit_onSuccess = dispatchIdx !== undefined ? await ctx.getVariable({ id: 'dispatch', portName: 'onSuccess', executionIndex: dispatchIdx }) : false;
263
+ await ctx.setVariable({ id: 'Exit', portName: 'onSuccess', executionIndex: exitIdx, nodeTypeName: 'Exit' }, exit_onSuccess);
264
+ await ctx.setVariable({ id: 'Exit', portName: 'onFailure', executionIndex: exitIdx, nodeTypeName: 'Exit' }, false);
265
+ const finalResult = { onFailure: false, results: exit_results, onSuccess: exit_onSuccess };
266
+ await ctx.sendStatusChangedEvent({
267
+ nodeTypeName: 'Exit',
268
+ id: 'Exit',
269
+ executionIndex: exitIdx,
270
+ status: 'SUCCEEDED',
271
+ });
272
+ ctx.sendWorkflowCompletedEvent({
273
+ executionIndex: exitIdx,
274
+ status: 'SUCCEEDED',
275
+ result: finalResult,
276
+ });
277
+ return finalResult;
278
+ // @flow-weaver-body-end
279
+ return { onSuccess: false, results: null };
280
+ }
281
+ //# sourceMappingURL=orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/workflows/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Session mode bot. Continuously polls the task queue and processes
3
+ * tasks through the full bot pipeline.
4
+ *
5
+ * @flowWeaver workflow
6
+ *
7
+ * @node cfg weaverLoadConfig [color: "teal"] [icon: "settings"] [position: 80 200]
8
+ * @node detect weaverDetectProvider [color: "cyan"] [icon: "search"] [position: 230 200]
9
+ * @node receive weaverReceiveTask [color: "blue"] [icon: "send"] [position: 400 200]
10
+ * @node route weaverRouteTask [color: "purple"] [icon: "flow"] [position: 570 200]
11
+ * @node readWf weaverReadWorkflow [color: "cyan"] [icon: "description"] [position: 740 450]
12
+ * @node context weaverBuildContext [color: "teal"] [icon: "code"] [position: 740 200]
13
+ * @node plan weaverPlanTask [color: "blue"] [icon: "psychology"] [position: 910 200]
14
+ * @node approve weaverApprovalGate [color: "orange"] [icon: "send"] [position: 1080 200]
15
+ * @node abort weaverAbortTask [color: "red"] [icon: "code"] [position: 1250 450]
16
+ * @node execRetry weaverExecValidateRetry [color: "purple"] [icon: "code"] [position: 1250 200]
17
+ * @node gitOps weaverGitOps [color: "green"] [icon: "code"] [position: 1420 100]
18
+ * @node notify weaverSendNotify [color: "yellow"] [icon: "send"] [position: 1420 300]
19
+ * @node report weaverBotReport [color: "green"] [icon: "description"] [position: 1600 200]
20
+ *
21
+ * @path Start -> cfg -> detect -> receive -> route -> context -> plan -> approve -> execRetry -> gitOps -> report -> Exit
22
+ * @path execRetry -> notify
23
+ * @path route:fail -> readWf
24
+ * @path approve:fail -> abort
25
+ *
26
+ * @connect readWf.onSuccess -> report.execute
27
+ * @connect abort.onSuccess -> report.execute
28
+ * @connect notify.onSuccess -> report.execute
29
+ *
30
+ * @connect route.taskJson -> readWf.taskJson
31
+ * @connect route.projectDir -> readWf.projectDir
32
+ * @connect readWf.resultJson -> report.readResult
33
+ *
34
+ * @connect context.contextBundle -> plan.contextBundle
35
+ *
36
+ * @connect approve.rejectionReason -> abort.rejectionReason
37
+ * @connect approve.taskJson -> abort.taskJson
38
+ * @connect approve.projectDir -> abort.projectDir
39
+ * @connect abort.resultJson -> report.abortResult
40
+ *
41
+ * @connect execRetry.resultJson -> notify.resultJson
42
+ * @connect execRetry.projectDir -> notify.targetPath
43
+ *
44
+ * @connect execRetry.resultJson -> report.mainResult
45
+ * @connect execRetry.filesModified -> report.filesModified
46
+ * @connect gitOps.gitResultJson -> report.gitResultJson
47
+ *
48
+ * @connect report.summary -> Exit.summary
49
+ *
50
+ * @position Start 0 200
51
+ * @position Exit 1750 200
52
+ *
53
+ * @param execute [order:-1] - Execute
54
+ * @param taskJson [order:0] [optional] - Task instruction (JSON)
55
+ * @param projectDir [order:1] [optional] - Project directory
56
+ * @returns onSuccess [order:-2] - On Success
57
+ * @returns onFailure [order:-1] - On Failure
58
+ * @returns summary [order:0] - Summary text
59
+ */
60
+ export declare function weaverBotSession(execute: boolean, taskJson?: string, projectDir?: string, __abortSignal__?: AbortSignal): Promise<{
61
+ onSuccess: boolean;
62
+ onFailure: boolean;
63
+ summary: string | null;
64
+ }>;
65
+ //# sourceMappingURL=weaver-bot-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weaver-bot-session.d.ts","sourceRoot":"","sources":["../../src/workflows/weaver-bot-session.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,WAAW,GAC5B,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAK7E"}