@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
@@ -1,14 +1,13 @@
1
1
  /**
2
- * TaskCreateForm — manual task creation form for the swarm dashboard.
2
+ * TaskCreateForm — single-line task creation input for the swarm dashboard.
3
3
  *
4
- * Collapsible form that lets users create tasks with title, description,
5
- * and priority. Calls fw_weaver_task_create via pack workspace callTool.
4
+ * Minimal: one input + one button. Type a title, hit Enter or click Create.
5
+ * Description, priority, assignment can be edited after creation via task detail.
6
6
  */
7
- const React = require('react');
7
+ import React from 'react';
8
+ import { Flex, Input, IconButton, toast, usePackWorkspace } from '@fw/plugin-ui-kit';
9
+
8
10
  const { useState, useCallback } = React;
9
- const {
10
- Flex, Typography, Input, Button, toast, usePackWorkspace,
11
- } = require('@fw/plugin-ui-kit');
12
11
 
13
12
  // ---------------------------------------------------------------------------
14
13
  // Types
@@ -37,141 +36,52 @@ function TaskCreateForm({ onTaskCreated }: TaskCreateFormProps) {
37
36
  const ctx = usePackWorkspace();
38
37
  const { callTool } = ctx;
39
38
 
40
- // Collapse state — starts hidden
41
- const [open, setOpen] = useState(false);
42
-
43
- // Form fields
44
39
  const [title, setTitle] = useState('');
45
- const [description, setDescription] = useState('');
46
- const [priority, setPriority] = useState('0');
47
-
48
- // Loading state
49
40
  const [creating, setCreating] = useState(false);
50
41
 
51
- const toggleOpen = useCallback(() => setOpen((v: boolean) => !v), []);
52
-
53
42
  const handleCreate = useCallback(async () => {
54
- const trimmedTitle = title.trim();
55
- if (!trimmedTitle) {
56
- toast('Title is required', { type: 'error' });
57
- return;
58
- }
43
+ const trimmed = title.trim();
44
+ if (!trimmed) return;
59
45
 
60
46
  setCreating(true);
61
47
  try {
62
- const raw = await callTool('fw_weaver_task_create', {
63
- title: trimmedTitle,
64
- description: description.trim() || undefined,
65
- priority: Number(priority) || 0,
66
- });
67
- const result = parseToolResult(raw) as { task?: { id: string; title: string } };
68
- const taskTitle = result?.task?.title ?? trimmedTitle;
69
- toast(`Task created: ${taskTitle}`, { type: 'success' });
70
-
71
- // Reset form
48
+ const raw = await callTool('fw_weaver_task_create', { title: trimmed });
49
+ const result = parseToolResult(raw) as { task?: { title: string } };
50
+ toast(`Task created: ${result?.task?.title ?? trimmed}`, { type: 'success' });
72
51
  setTitle('');
73
- setDescription('');
74
- setPriority('0');
75
-
76
52
  onTaskCreated?.();
77
- } catch (err) {
53
+ } catch (err: unknown) {
78
54
  toast(err instanceof Error ? err.message : 'Failed to create task', { type: 'error' });
79
55
  } finally {
80
56
  setCreating(false);
81
57
  }
82
- }, [title, description, priority, callTool, onTaskCreated]);
58
+ }, [title, callTool, onTaskCreated]);
83
59
 
84
- // -- Toggle button (always visible) --
85
- const toggleButton = React.createElement(Button, {
86
- variant: 'ghost',
87
- size: 'sm',
88
- onClick: toggleOpen,
89
- style: { width: '100%' },
90
- }, open ? '▾ Hide create form' : '▸ Create new task');
91
-
92
- if (!open) {
93
- return React.createElement(Flex, {
94
- variant: 'column-start-start-nowrap-4',
95
- style: { width: '100%' },
96
- }, toggleButton);
97
- }
98
-
99
- // -- Form fields --
100
- const titleField = React.createElement(Flex, {
101
- variant: 'column-start-start-nowrap-2',
102
- style: { width: '100%' },
60
+ return React.createElement(Flex, {
61
+ variant: 'row-center-start-nowrap-6',
103
62
  },
104
- React.createElement(Typography, { variant: 'smallCaption-regular', color: 'color-text-subtle' }, 'Title *'),
105
63
  React.createElement(Input, {
106
- placeholder: 'Task title',
64
+ type: 'text',
65
+ size: 'small',
66
+ placeholder: 'What needs to be done?',
107
67
  value: title,
108
68
  onChange: (v: string) => setTitle(v),
69
+ onEnter: handleCreate,
109
70
  disabled: creating,
71
+ defaultBoxStyle: { flex: 1, minWidth: 0 },
72
+ inputBoxStyle: { maxWidth: 'none' },
110
73
  }),
111
- );
112
-
113
- const descriptionField = React.createElement(Flex, {
114
- variant: 'column-start-start-nowrap-2',
115
- style: { width: '100%' },
116
- },
117
- React.createElement(Typography, { variant: 'smallCaption-regular', color: 'color-text-subtle' }, 'Description'),
118
- React.createElement(Input, {
119
- placeholder: 'Detailed instructions for the task',
120
- value: description,
121
- onChange: (v: string) => setDescription(v),
122
- disabled: creating,
123
- multiline: true,
74
+ React.createElement(IconButton, {
75
+ icon: 'add',
76
+ size: 'sm',
77
+ variant: 'fill',
78
+ color: 'primary',
79
+ onClick: handleCreate,
80
+ disabled: creating || !title.trim(),
81
+ loading: creating,
124
82
  }),
125
83
  );
126
-
127
- const priorityField = React.createElement(Flex, {
128
- variant: 'column-start-start-nowrap-2',
129
- style: { width: '100%' },
130
- },
131
- React.createElement(Typography, { variant: 'smallCaption-regular', color: 'color-text-subtle' }, 'Priority'),
132
- React.createElement(Input, {
133
- placeholder: '0',
134
- value: priority,
135
- onChange: (v: string) => setPriority(v),
136
- disabled: creating,
137
- type: 'number',
138
- }),
139
- );
140
-
141
- const createButton = React.createElement(Button, {
142
- variant: 'primary',
143
- size: 'sm',
144
- onClick: handleCreate,
145
- disabled: creating || !title.trim(),
146
- style: { width: '100%' },
147
- }, creating ? 'Creating…' : 'Create Task');
148
-
149
- return React.createElement(Flex, {
150
- variant: 'column-start-start-nowrap-4',
151
- style: {
152
- width: '100%',
153
- padding: '0',
154
- },
155
- },
156
- toggleButton,
157
- React.createElement(Flex, {
158
- variant: 'column-start-start-nowrap-8',
159
- style: {
160
- width: '100%',
161
- padding: '8px',
162
- borderRadius: '6px',
163
- backgroundColor: 'var(--color-surface-raised)',
164
- },
165
- },
166
- React.createElement(Typography, { variant: 'caption-medium' }, 'New Task'),
167
- titleField,
168
- descriptionField,
169
- priorityField,
170
- createButton,
171
- ),
172
- );
173
84
  }
174
85
 
175
86
  export { TaskCreateForm };
176
87
  export default TaskCreateForm;
177
- module.exports = TaskCreateForm;