@synergenius/flow-weaver-pack-weaver 0.9.199 → 0.9.201
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.js +5 -5
- package/dist/ai-chat-provider.js.map +1 -1
- package/dist/bot/acceptance-merge.d.ts +21 -0
- package/dist/bot/acceptance-merge.d.ts.map +1 -0
- package/dist/bot/acceptance-merge.js +46 -0
- package/dist/bot/acceptance-merge.js.map +1 -0
- package/dist/bot/ai-client.d.ts +14 -2
- package/dist/bot/ai-client.d.ts.map +1 -1
- package/dist/bot/ai-client.js +71 -24
- package/dist/bot/ai-client.js.map +1 -1
- package/dist/bot/assistant-tools.js +3 -3
- package/dist/bot/assistant-tools.js.map +1 -1
- package/dist/bot/audit-logger.d.ts.map +1 -1
- package/dist/bot/audit-logger.js +34 -14
- package/dist/bot/audit-logger.js.map +1 -1
- package/dist/bot/audit-trail.d.ts +67 -0
- package/dist/bot/audit-trail.d.ts.map +1 -0
- package/dist/bot/audit-trail.js +153 -0
- package/dist/bot/audit-trail.js.map +1 -0
- package/dist/bot/behavior-defaults.d.ts +1 -1
- package/dist/bot/behavior-defaults.d.ts.map +1 -1
- package/dist/bot/behavior-defaults.js +7 -3
- package/dist/bot/behavior-defaults.js.map +1 -1
- package/dist/bot/capability-registry.d.ts +9 -0
- package/dist/bot/capability-registry.d.ts.map +1 -1
- package/dist/bot/capability-registry.js +81 -27
- package/dist/bot/capability-registry.js.map +1 -1
- package/dist/bot/capability-types.d.ts +10 -0
- package/dist/bot/capability-types.d.ts.map +1 -1
- package/dist/bot/cli-provider.d.ts.map +1 -1
- package/dist/bot/cli-provider.js +8 -7
- package/dist/bot/cli-provider.js.map +1 -1
- package/dist/bot/preflight.d.ts +48 -0
- package/dist/bot/preflight.d.ts.map +1 -0
- package/dist/bot/preflight.js +247 -0
- package/dist/bot/preflight.js.map +1 -0
- package/dist/bot/provider-shim.d.ts +74 -0
- package/dist/bot/provider-shim.d.ts.map +1 -0
- package/dist/bot/provider-shim.js +176 -0
- package/dist/bot/provider-shim.js.map +1 -0
- package/dist/bot/runner.d.ts +2 -0
- package/dist/bot/runner.d.ts.map +1 -1
- package/dist/bot/runner.js +60 -17
- package/dist/bot/runner.js.map +1 -1
- package/dist/bot/step-executor.d.ts.map +1 -1
- package/dist/bot/step-executor.js +72 -115
- package/dist/bot/step-executor.js.map +1 -1
- package/dist/bot/swarm-controller.d.ts +2 -0
- package/dist/bot/swarm-controller.d.ts.map +1 -1
- package/dist/bot/swarm-controller.js +92 -20
- package/dist/bot/swarm-controller.js.map +1 -1
- package/dist/bot/task-create-handler.d.ts +37 -0
- package/dist/bot/task-create-handler.d.ts.map +1 -0
- package/dist/bot/task-create-handler.js +124 -0
- package/dist/bot/task-create-handler.js.map +1 -0
- package/dist/bot/task-store.d.ts +1 -0
- package/dist/bot/task-store.d.ts.map +1 -1
- package/dist/bot/task-store.js +67 -0
- package/dist/bot/task-store.js.map +1 -1
- package/dist/bot/types.d.ts +1 -1
- package/dist/bot/types.d.ts.map +1 -1
- package/dist/bot/weaver-tools.d.ts.map +1 -1
- package/dist/bot/weaver-tools.js +7 -39
- package/dist/bot/weaver-tools.js.map +1 -1
- package/dist/node-types/agent-execute.d.ts +25 -8
- package/dist/node-types/agent-execute.d.ts.map +1 -1
- package/dist/node-types/agent-execute.js +89 -23
- package/dist/node-types/agent-execute.js.map +1 -1
- package/dist/node-types/bot-report.d.ts.map +1 -1
- package/dist/node-types/bot-report.js +24 -3
- package/dist/node-types/bot-report.js.map +1 -1
- package/dist/node-types/plan-task.d.ts +8 -17
- package/dist/node-types/plan-task.d.ts.map +1 -1
- package/dist/node-types/plan-task.js +217 -256
- package/dist/node-types/plan-task.js.map +1 -1
- package/dist/node-types/review-result.js +8 -6
- package/dist/node-types/review-result.js.map +1 -1
- package/dist/palindrome.d.ts +9 -0
- package/dist/palindrome.d.ts.map +1 -0
- package/dist/palindrome.js +14 -0
- package/dist/palindrome.js.map +1 -0
- package/dist/ui/approval-card.js +91 -82
- package/dist/ui/bot-activity.js +73 -56
- package/dist/ui/bot-config.js +48 -31
- package/dist/ui/bot-dashboard.js +52 -36
- package/dist/ui/bot-panel.js +230 -228
- package/dist/ui/bot-slot-card.js +100 -90
- package/dist/ui/bot-status.js +37 -15
- package/dist/ui/budget-bar.js +57 -31
- package/dist/ui/capability-editor.js +447 -378
- package/dist/ui/chat-task-result.js +78 -71
- package/dist/ui/decision-log.js +68 -81
- package/dist/ui/genesis-block.js +86 -95
- package/dist/ui/instance-stream-view.js +722 -0
- package/dist/ui/profile-card.js +96 -221
- package/dist/ui/profile-editor.js +532 -575
- package/dist/ui/settings-section.js +41 -45
- package/dist/ui/swarm-controls.js +212 -135
- package/dist/ui/swarm-dashboard.js +3992 -2715
- package/dist/ui/task-detail-view.js +415 -521
- package/dist/ui/task-editor.js +339 -390
- package/dist/ui/task-pool-list.js +60 -55
- package/dist/workflows/src/palindrome.d.ts +11 -0
- package/dist/workflows/src/palindrome.d.ts.map +1 -0
- package/dist/workflows/src/palindrome.js +16 -0
- package/dist/workflows/src/palindrome.js.map +1 -0
- package/dist/workflows/tests/palindrome.test.d.ts +2 -0
- package/dist/workflows/tests/palindrome.test.d.ts.map +1 -0
- package/dist/workflows/tests/palindrome.test.js +41 -0
- package/dist/workflows/tests/palindrome.test.js.map +1 -0
- package/dist/workflows/weaver-bot-batch.js +1 -1
- package/dist/workflows/weaver-bot-batch.js.map +1 -1
- package/dist/workflows/weaver-bot.js +1 -1
- package/dist/workflows/weaver-bot.js.map +1 -1
- package/flowweaver.manifest.json +1 -1
- package/package.json +8 -2
- package/src/ai-chat-provider.ts +5 -5
- package/src/bot/acceptance-merge.ts +62 -0
- package/src/bot/ai-client.ts +77 -21
- package/src/bot/assistant-tools.ts +3 -3
- package/src/bot/audit-logger.ts +42 -14
- package/src/bot/audit-trail.ts +211 -0
- package/src/bot/behavior-defaults.ts +7 -2
- package/src/bot/capability-registry.ts +84 -28
- package/src/bot/capability-types.ts +11 -0
- package/src/bot/cli-provider.ts +8 -7
- package/src/bot/preflight.ts +285 -0
- package/src/bot/provider-shim.ts +218 -0
- package/src/bot/runner.ts +68 -20
- package/src/bot/step-executor.ts +69 -127
- package/src/bot/swarm-controller.ts +94 -20
- package/src/bot/task-create-handler.ts +164 -0
- package/src/bot/task-store.ts +83 -0
- package/src/bot/types.ts +4 -1
- package/src/bot/weaver-tools.ts +7 -45
- package/src/node-types/agent-execute.ts +102 -16
- package/src/node-types/bot-report.ts +24 -3
- package/src/node-types/plan-task.ts +238 -280
- package/src/node-types/review-result.ts +8 -6
- package/src/palindrome.ts +14 -0
- package/src/ui/approval-card.tsx +78 -62
- package/src/ui/bot-activity.tsx +12 -10
- package/src/ui/bot-config.tsx +12 -10
- package/src/ui/bot-dashboard.tsx +13 -11
- package/src/ui/bot-panel.tsx +189 -171
- package/src/ui/bot-slot-card.tsx +125 -70
- package/src/ui/bot-status.tsx +4 -4
- package/src/ui/budget-bar.tsx +86 -25
- package/src/ui/capability-editor.tsx +392 -257
- package/src/ui/chat-task-result.tsx +81 -78
- package/src/ui/decision-log.tsx +76 -73
- package/src/ui/genesis-block.tsx +91 -61
- package/src/ui/instance-stream-view.tsx +861 -0
- package/src/ui/profile-card.tsx +195 -168
- package/src/ui/profile-editor.tsx +453 -370
- package/src/ui/settings-section.tsx +46 -39
- package/src/ui/swarm-controls.tsx +252 -123
- package/src/ui/swarm-dashboard.tsx +999 -466
- package/src/ui/task-detail-view.tsx +485 -428
- package/src/ui/task-editor.tsx +329 -271
- package/src/ui/task-pool-list.tsx +68 -62
- package/src/workflows/src/palindrome.ts +16 -0
- package/src/workflows/tests/palindrome.test.ts +49 -0
- package/src/workflows/weaver-bot-batch.ts +1 -1
- package/src/workflows/weaver-bot.ts +1 -1
- package/dist/ui/bot-constants.d.ts +0 -14
- package/dist/ui/bot-constants.d.ts.map +0 -1
- package/dist/ui/bot-constants.js +0 -189
- package/dist/ui/bot-constants.js.map +0 -1
- package/dist/ui/steer-api.d.ts +0 -7
- package/dist/ui/steer-api.d.ts.map +0 -1
- package/dist/ui/steer-api.js +0 -11
- package/dist/ui/steer-api.js.map +0 -1
- package/dist/ui/trace-to-timeline.d.ts +0 -91
- package/dist/ui/trace-to-timeline.d.ts.map +0 -1
- package/dist/ui/trace-to-timeline.js +0 -116
- package/dist/ui/trace-to-timeline.js.map +0 -1
- package/dist/ui/use-stream-timeline.d.ts +0 -50
- package/dist/ui/use-stream-timeline.d.ts.map +0 -1
- package/dist/ui/use-stream-timeline.js +0 -245
- package/dist/ui/use-stream-timeline.js.map +0 -1
|
@@ -5,9 +5,8 @@
|
|
|
5
5
|
* Parent tasks show at top level; subtasks are indented below their parent.
|
|
6
6
|
* Each row shows status icon, title (clickable), assigned bot tags, and priority badge.
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const { Flex, Typography, Icon, StatusIcon, Chip, ScrollArea, Badge, EmptyState } = require('@fw/plugin-ui-kit');
|
|
8
|
+
import React, { useState } from 'react';
|
|
9
|
+
import { Flex, Typography, Icon, StatusIcon, Chip, ScrollArea, Badge, EmptyState } from '@fw/plugin-ui-kit';
|
|
11
10
|
|
|
12
11
|
// --- Types ---
|
|
13
12
|
|
|
@@ -103,52 +102,56 @@ function buildHierarchy(tasks: Task[]): Array<{ task: Task; indent: boolean }> {
|
|
|
103
102
|
|
|
104
103
|
// --- Task Row component with hover ---
|
|
105
104
|
|
|
106
|
-
function TaskRowItem({ task, indent, onClick }: { task: Task; indent: boolean; onClick: () => void }) {
|
|
105
|
+
function TaskRowItem({ task, indent, onClick }: { key?: string; task: Task; indent: boolean; onClick: () => void }) {
|
|
107
106
|
const [hovered, setHovered] = useState(false);
|
|
108
107
|
const style: React.CSSProperties = {
|
|
109
108
|
...(indent ? indentedRowStyle : rowBaseStyle),
|
|
110
109
|
...(hovered ? { backgroundColor: 'var(--color-surface-high)' } : undefined),
|
|
111
110
|
};
|
|
112
111
|
|
|
113
|
-
return
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
112
|
+
return (
|
|
113
|
+
<Flex
|
|
114
|
+
variant="row-center-start-nowrap-8"
|
|
115
|
+
style={style}
|
|
116
|
+
onClick={onClick}
|
|
117
|
+
onMouseEnter={() => setHovered(true)}
|
|
118
|
+
onMouseLeave={() => setHovered(false)}
|
|
119
|
+
>
|
|
120
|
+
<StatusIcon
|
|
121
|
+
status={statusToIcon[task.status] || 'pending'}
|
|
122
|
+
size="sm"
|
|
123
|
+
/>
|
|
124
|
+
|
|
125
|
+
<Flex
|
|
126
|
+
variant="row-center-start-nowrap-0"
|
|
127
|
+
style={{ flex: 1, minWidth: 0 }}
|
|
128
|
+
>
|
|
129
|
+
<Typography
|
|
130
|
+
variant="caption-regular"
|
|
131
|
+
color={task.status === 'cancelled'
|
|
132
|
+
? 'color-text-subtle'
|
|
133
|
+
: 'color-text-high'}
|
|
134
|
+
truncate={true}
|
|
135
|
+
style={task.status === 'cancelled' ? { textDecoration: 'line-through', opacity: 0.6 } : undefined}
|
|
136
|
+
>
|
|
137
|
+
{task.title}
|
|
138
|
+
</Typography>
|
|
139
|
+
</Flex>
|
|
140
|
+
|
|
141
|
+
{task.assignedProfile && (
|
|
142
|
+
<Chip
|
|
143
|
+
label={task.assignedProfile}
|
|
144
|
+
size="small"
|
|
145
|
+
color="color-status-info"
|
|
146
|
+
/>
|
|
147
|
+
)}
|
|
148
|
+
|
|
149
|
+
{task.priority > 0 && (
|
|
150
|
+
<Badge variant={task.priority >= 3 ? 'warning' : 'info'}>
|
|
151
|
+
{`P${task.priority}`}
|
|
152
|
+
</Badge>
|
|
153
|
+
)}
|
|
154
|
+
</Flex>
|
|
152
155
|
);
|
|
153
156
|
}
|
|
154
157
|
|
|
@@ -156,31 +159,34 @@ function TaskRowItem({ task, indent, onClick }: { task: Task; indent: boolean; o
|
|
|
156
159
|
|
|
157
160
|
function TaskPoolList({ tasks, onTaskClick }: TaskPoolListProps) {
|
|
158
161
|
if (!tasks || tasks.length === 0) {
|
|
159
|
-
return
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
162
|
+
return (
|
|
163
|
+
<EmptyState
|
|
164
|
+
icon="inbox"
|
|
165
|
+
message="No tasks in the pool."
|
|
166
|
+
/>
|
|
167
|
+
);
|
|
163
168
|
}
|
|
164
169
|
|
|
165
170
|
const rows = buildHierarchy(tasks);
|
|
166
171
|
|
|
167
|
-
return
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
172
|
+
return (
|
|
173
|
+
<Flex
|
|
174
|
+
variant="column-stretch-start-nowrap-0"
|
|
175
|
+
style={{ height: '100%', overflow: 'hidden' }}
|
|
176
|
+
>
|
|
177
|
+
<ScrollArea style={{ flex: 1 }}>
|
|
178
|
+
{rows.map(({ task, indent }) => (
|
|
179
|
+
<TaskRowItem
|
|
180
|
+
key={task.id}
|
|
181
|
+
task={task}
|
|
182
|
+
indent={indent}
|
|
183
|
+
onClick={() => onTaskClick(task.id)}
|
|
184
|
+
/>
|
|
185
|
+
))}
|
|
186
|
+
</ScrollArea>
|
|
187
|
+
</Flex>
|
|
181
188
|
);
|
|
182
189
|
}
|
|
183
190
|
|
|
184
191
|
export { TaskPoolList };
|
|
185
192
|
export default TaskPoolList;
|
|
186
|
-
module.exports = TaskPoolList;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks if a string is a palindrome.
|
|
3
|
+
*
|
|
4
|
+
* Returns true if the input string is a palindrome (case-insensitive,
|
|
5
|
+
* ignoring non-alphanumeric characters).
|
|
6
|
+
*
|
|
7
|
+
* @param s - The string to check
|
|
8
|
+
* @returns true if the string is a palindrome, false otherwise
|
|
9
|
+
*/
|
|
10
|
+
export function isPalindrome(s: string): boolean {
|
|
11
|
+
// Remove non-alphanumeric characters and convert to lowercase
|
|
12
|
+
const cleaned = s.replace(/[^a-z0-9]/gi, '').toLowerCase();
|
|
13
|
+
|
|
14
|
+
// Check if the cleaned string equals its reverse
|
|
15
|
+
return cleaned === cleaned.split('').reverse().join('');
|
|
16
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { isPalindrome } from '../src/palindrome.js';
|
|
3
|
+
|
|
4
|
+
describe('isPalindrome', () => {
|
|
5
|
+
// Test case 1: Empty string
|
|
6
|
+
it('should return true for an empty string', () => {
|
|
7
|
+
expect(isPalindrome('')).toBe(true);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
// Test case 2: Single character
|
|
11
|
+
it('should return true for a single character', () => {
|
|
12
|
+
expect(isPalindrome('a')).toBe(true);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// Test case 3: Known palindrome (lowercase)
|
|
16
|
+
it('should return true for a known palindrome "racecar"', () => {
|
|
17
|
+
expect(isPalindrome('racecar')).toBe(true);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// Test case 4: Non-palindrome
|
|
21
|
+
it('should return false for a non-palindrome "hello"', () => {
|
|
22
|
+
expect(isPalindrome('hello')).toBe(false);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// Test case 5: Mixed-case palindrome
|
|
26
|
+
it('should return true for a mixed-case palindrome "RaceCar"', () => {
|
|
27
|
+
expect(isPalindrome('RaceCar')).toBe(true);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Additional test case: Palindrome with spaces and punctuation
|
|
31
|
+
it('should return true for "A man, a plan, a canal: Panama"', () => {
|
|
32
|
+
expect(isPalindrome('A man, a plan, a canal: Panama')).toBe(true);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// Additional test case: Palindrome with numbers
|
|
36
|
+
it('should return true for "12321"', () => {
|
|
37
|
+
expect(isPalindrome('12321')).toBe(true);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// Additional test case: Mixed alphanumeric palindrome
|
|
41
|
+
it('should return true for "a1b1a"', () => {
|
|
42
|
+
expect(isPalindrome('a1b1a')).toBe(true);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// Additional test case: Non-palindrome with special characters
|
|
46
|
+
it('should return false for "hello, world!"', () => {
|
|
47
|
+
expect(isPalindrome('hello, world!')).toBe(false);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -942,7 +942,7 @@ export async function weaverBotBatch(
|
|
|
942
942
|
await ctx.setVariable({ id: 'plan', portName: 'ctx', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, plan_ctx);
|
|
943
943
|
const plan_modelOverride = undefined;
|
|
944
944
|
await ctx.setVariable({ id: 'plan', portName: 'modelOverride', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, plan_modelOverride);
|
|
945
|
-
const planResult = await weaverPlanTask(
|
|
945
|
+
const planResult = await weaverPlanTask(plan_ctx, plan_execute as unknown as boolean, plan_modelOverride);
|
|
946
946
|
await ctx.setVariable({ id: 'plan', portName: 'ctx', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, planResult.ctx);
|
|
947
947
|
await ctx.setVariable({ id: 'plan', portName: 'onSuccess', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, planResult.onSuccess);
|
|
948
948
|
await ctx.setVariable({ id: 'plan', portName: 'onFailure', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, planResult.onFailure);
|
|
@@ -1262,7 +1262,7 @@ export async function weaverBot(
|
|
|
1262
1262
|
await ctx.setVariable({ id: 'plan', portName: 'ctx', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, plan_ctx);
|
|
1263
1263
|
const plan_modelOverride = resolvePlanModelIdx !== undefined ? await ctx.getVariable({ id: 'resolvePlanModel', portName: 'model', executionIndex: resolvePlanModelIdx }) as string : undefined;
|
|
1264
1264
|
await ctx.setVariable({ id: 'plan', portName: 'modelOverride', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, plan_modelOverride);
|
|
1265
|
-
const planResult = await weaverPlanTask(
|
|
1265
|
+
const planResult = await weaverPlanTask(plan_ctx, plan_execute as unknown as boolean, plan_modelOverride);
|
|
1266
1266
|
await ctx.setVariable({ id: 'plan', portName: 'ctx', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, planResult.ctx);
|
|
1267
1267
|
await ctx.setVariable({ id: 'plan', portName: 'onSuccess', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, planResult.onSuccess);
|
|
1268
1268
|
await ctx.setVariable({ id: 'plan', portName: 'onFailure', executionIndex: planIdx, nodeTypeName: 'weaverPlanTask' }, planResult.onFailure);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared constants for bot panel components: icon catalog, colors, helpers.
|
|
3
|
-
*/
|
|
4
|
-
export declare const ICON_CATALOG: {
|
|
5
|
-
category: string;
|
|
6
|
-
icons: string[];
|
|
7
|
-
}[];
|
|
8
|
-
export declare const BOT_COLORS: {
|
|
9
|
-
label: string;
|
|
10
|
-
token: string;
|
|
11
|
-
}[];
|
|
12
|
-
/** Convert camelCase icon name to searchable words: "cloudSync" -> "cloud sync" */
|
|
13
|
-
export declare function iconToWords(name: string): string;
|
|
14
|
-
//# sourceMappingURL=bot-constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bot-constants.d.ts","sourceRoot":"","sources":["../../src/ui/bot-constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,YAAY,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAuK/D,CAAC;AAEF,eAAO,MAAM,UAAU;;;GAWtB,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
package/dist/ui/bot-constants.js
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared constants for bot panel components: icon catalog, colors, helpers.
|
|
3
|
-
*/
|
|
4
|
-
/* ── Categorised icon catalog ──────────────────────────────────────── */
|
|
5
|
-
export const ICON_CATALOG = [
|
|
6
|
-
{
|
|
7
|
-
category: 'Actions',
|
|
8
|
-
icons: [
|
|
9
|
-
'playArrow',
|
|
10
|
-
'stop',
|
|
11
|
-
'pause',
|
|
12
|
-
'restart',
|
|
13
|
-
'send',
|
|
14
|
-
'check',
|
|
15
|
-
'edit',
|
|
16
|
-
'copy',
|
|
17
|
-
'add',
|
|
18
|
-
'reset',
|
|
19
|
-
'resume',
|
|
20
|
-
],
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
category: 'AI & Science',
|
|
24
|
-
icons: ['smartToy', 'psychology', 'autoAwesome', 'modelTraining', 'biotech', 'science', 'ai'],
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
category: 'Data & Storage',
|
|
28
|
-
icons: ['database', 'dataObject', 'dataArray', 'tableChart', 'token', 'dns', 'cloudStorage'],
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
category: 'Logic & Flow',
|
|
32
|
-
icons: [
|
|
33
|
-
'altRoute',
|
|
34
|
-
'callSplit',
|
|
35
|
-
'callMerge',
|
|
36
|
-
'rule',
|
|
37
|
-
'filterAlt',
|
|
38
|
-
'sort',
|
|
39
|
-
'loop',
|
|
40
|
-
'repeat',
|
|
41
|
-
'compareArrows',
|
|
42
|
-
'swapHoriz',
|
|
43
|
-
'syncAlt',
|
|
44
|
-
'changeCircle',
|
|
45
|
-
'allInclusive',
|
|
46
|
-
],
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
category: 'Cloud & Network',
|
|
50
|
-
icons: [
|
|
51
|
-
'cloudSync',
|
|
52
|
-
'cloudUpload',
|
|
53
|
-
'cloudDownload',
|
|
54
|
-
'cloudDone',
|
|
55
|
-
'api',
|
|
56
|
-
'webhook',
|
|
57
|
-
'public',
|
|
58
|
-
'router',
|
|
59
|
-
],
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
category: 'Communication',
|
|
63
|
-
icons: ['email', 'chat', 'forum', 'notifications', 'campaign', 'rssFeed', 'sms'],
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
category: 'Security',
|
|
67
|
-
icons: [
|
|
68
|
-
'key',
|
|
69
|
-
'shield',
|
|
70
|
-
'security',
|
|
71
|
-
'vpnKey',
|
|
72
|
-
'adminPanel',
|
|
73
|
-
'policy',
|
|
74
|
-
'verified',
|
|
75
|
-
'lockClosed',
|
|
76
|
-
'lockOpened',
|
|
77
|
-
],
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
category: 'Time',
|
|
81
|
-
icons: [
|
|
82
|
-
'timer',
|
|
83
|
-
'alarm',
|
|
84
|
-
'hourglassEmpty',
|
|
85
|
-
'pendingActions',
|
|
86
|
-
'update',
|
|
87
|
-
'watchLater',
|
|
88
|
-
'scheduled',
|
|
89
|
-
],
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
category: 'Tasks & Workflow',
|
|
93
|
-
icons: [
|
|
94
|
-
'task',
|
|
95
|
-
'taskAlt',
|
|
96
|
-
'checklist',
|
|
97
|
-
'assignment',
|
|
98
|
-
'publish',
|
|
99
|
-
'build',
|
|
100
|
-
'construction',
|
|
101
|
-
'engineering',
|
|
102
|
-
],
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
category: 'Analytics',
|
|
106
|
-
icons: [
|
|
107
|
-
'analytics',
|
|
108
|
-
'insights',
|
|
109
|
-
'barChart',
|
|
110
|
-
'pieChart',
|
|
111
|
-
'trendingUp',
|
|
112
|
-
'showChart',
|
|
113
|
-
'leaderboard',
|
|
114
|
-
'monitoring',
|
|
115
|
-
],
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
category: 'Flow Nodes',
|
|
119
|
-
icons: [
|
|
120
|
-
'schema',
|
|
121
|
-
'hub',
|
|
122
|
-
'deviceHub',
|
|
123
|
-
'source',
|
|
124
|
-
'trigger',
|
|
125
|
-
'pulse',
|
|
126
|
-
'step',
|
|
127
|
-
'event',
|
|
128
|
-
'outlinedFlow',
|
|
129
|
-
],
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
category: 'Files & Documents',
|
|
133
|
-
icons: [
|
|
134
|
-
'file',
|
|
135
|
-
'filePresent',
|
|
136
|
-
'fileCopy',
|
|
137
|
-
'textSnippet',
|
|
138
|
-
'attachFile',
|
|
139
|
-
'uploadFile',
|
|
140
|
-
'save',
|
|
141
|
-
'upload',
|
|
142
|
-
'download',
|
|
143
|
-
],
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
category: 'General',
|
|
147
|
-
icons: [
|
|
148
|
-
'rocketLaunch',
|
|
149
|
-
'code',
|
|
150
|
-
'terminal',
|
|
151
|
-
'logs',
|
|
152
|
-
'info',
|
|
153
|
-
'help',
|
|
154
|
-
'list',
|
|
155
|
-
'category',
|
|
156
|
-
'hash',
|
|
157
|
-
'calendar',
|
|
158
|
-
'history',
|
|
159
|
-
'integration',
|
|
160
|
-
'layers',
|
|
161
|
-
'link',
|
|
162
|
-
'search',
|
|
163
|
-
'outlinedSettings',
|
|
164
|
-
'outlinedBug',
|
|
165
|
-
'collaboration',
|
|
166
|
-
'person',
|
|
167
|
-
'people',
|
|
168
|
-
'backup',
|
|
169
|
-
'healthAndSafety',
|
|
170
|
-
],
|
|
171
|
-
},
|
|
172
|
-
];
|
|
173
|
-
export const BOT_COLORS = [
|
|
174
|
-
{ label: 'Blue', token: 'color-node-blue-icon' },
|
|
175
|
-
{ label: 'Purple', token: 'color-node-purple-icon' },
|
|
176
|
-
{ label: 'Cyan', token: 'color-node-cyan-icon' },
|
|
177
|
-
{ label: 'Orange', token: 'color-node-orange-icon' },
|
|
178
|
-
{ label: 'Pink', token: 'color-node-pink-icon' },
|
|
179
|
-
{ label: 'Green', token: 'color-node-green-icon' },
|
|
180
|
-
{ label: 'Brand', token: 'color-brand-main' },
|
|
181
|
-
{ label: 'Accent', token: 'color-brand-alt' },
|
|
182
|
-
{ label: 'Positive', token: 'color-status-positive' },
|
|
183
|
-
{ label: 'Info', token: 'color-status-info' },
|
|
184
|
-
];
|
|
185
|
-
/** Convert camelCase icon name to searchable words: "cloudSync" -> "cloud sync" */
|
|
186
|
-
export function iconToWords(name) {
|
|
187
|
-
return name.replace(/([A-Z])/g, ' $1').toLowerCase();
|
|
188
|
-
}
|
|
189
|
-
//# sourceMappingURL=bot-constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bot-constants.js","sourceRoot":"","sources":["../../src/ui/bot-constants.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/steer-api.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Steer API for the workspace — sends steering commands via the pack tool API.
|
|
3
|
-
* Uses the workspace context's callTool instead of a hardcoded pack-tool URL.
|
|
4
|
-
*/
|
|
5
|
-
export type SteerCommand = 'pause' | 'resume' | 'cancel' | 'redirect';
|
|
6
|
-
export declare function sendSteerCommand(callTool: (tool: string, args?: Record<string, unknown>) => Promise<unknown>, command: SteerCommand, payload?: string): Promise<void>;
|
|
7
|
-
//# sourceMappingURL=steer-api.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"steer-api.d.ts","sourceRoot":"","sources":["../../src/ui/steer-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtE,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAC5E,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
package/dist/ui/steer-api.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Steer API for the workspace — sends steering commands via the pack tool API.
|
|
3
|
-
* Uses the workspace context's callTool instead of a hardcoded pack-tool URL.
|
|
4
|
-
*/
|
|
5
|
-
export async function sendSteerCommand(callTool, command, payload) {
|
|
6
|
-
await callTool('fw_weaver_steer', {
|
|
7
|
-
command,
|
|
8
|
-
...(payload ? { payload } : {}),
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=steer-api.js.map
|
package/dist/ui/steer-api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"steer-api.js","sourceRoot":"","sources":["../../src/ui/steer-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAA4E,EAC5E,OAAqB,EACrB,OAAgB;IAEhB,MAAM,QAAQ,CAAC,iBAAiB,EAAE;QAChC,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
interface TimelineEntry {
|
|
2
|
-
id: string;
|
|
3
|
-
timestamp: Date;
|
|
4
|
-
type: 'task-started' | 'node-started' | 'node-completed' | 'node-failed' | 'agent-request' | 'user-action' | 'task-completed' | 'task-failed';
|
|
5
|
-
nodeId?: string;
|
|
6
|
-
label: string;
|
|
7
|
-
detail?: string;
|
|
8
|
-
outputs?: Array<{
|
|
9
|
-
portLabel: string;
|
|
10
|
-
value: unknown;
|
|
11
|
-
}>;
|
|
12
|
-
duration?: number;
|
|
13
|
-
color?: string;
|
|
14
|
-
icon?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface HistoricalTraceEvent {
|
|
17
|
-
type: 'node-start' | 'node-complete' | 'node-error';
|
|
18
|
-
nodeId: string;
|
|
19
|
-
nodeType?: string;
|
|
20
|
-
timestamp: number;
|
|
21
|
-
durationMs?: number;
|
|
22
|
-
error?: string;
|
|
23
|
-
outputs?: Array<{
|
|
24
|
-
portLabel: string;
|
|
25
|
-
value: unknown;
|
|
26
|
-
}>;
|
|
27
|
-
}
|
|
28
|
-
export interface HistoricalStepLog {
|
|
29
|
-
step: string;
|
|
30
|
-
status: 'ok' | 'blocked' | 'error';
|
|
31
|
-
detail?: string;
|
|
32
|
-
}
|
|
33
|
-
export interface HistoricalPlan {
|
|
34
|
-
summary: string;
|
|
35
|
-
steps: Array<{
|
|
36
|
-
id: string;
|
|
37
|
-
operation: string;
|
|
38
|
-
description: string;
|
|
39
|
-
args?: Record<string, unknown>;
|
|
40
|
-
}>;
|
|
41
|
-
}
|
|
42
|
-
export interface HistoricalAuditEvent {
|
|
43
|
-
type: string;
|
|
44
|
-
timestamp: string;
|
|
45
|
-
runId: string;
|
|
46
|
-
data?: Record<string, unknown>;
|
|
47
|
-
}
|
|
48
|
-
export interface HistoricalCostSummary {
|
|
49
|
-
totalInputTokens: number;
|
|
50
|
-
totalOutputTokens: number;
|
|
51
|
-
totalCost: number;
|
|
52
|
-
model: string;
|
|
53
|
-
provider: string;
|
|
54
|
-
entries: Array<{
|
|
55
|
-
step: string;
|
|
56
|
-
model: string;
|
|
57
|
-
estimatedCost: number;
|
|
58
|
-
}>;
|
|
59
|
-
}
|
|
60
|
-
export interface HistoricalRun {
|
|
61
|
-
id: string;
|
|
62
|
-
botId?: string;
|
|
63
|
-
botName?: string;
|
|
64
|
-
workflowFile?: string;
|
|
65
|
-
instruction?: string;
|
|
66
|
-
outcome: string;
|
|
67
|
-
success?: boolean;
|
|
68
|
-
durationMs?: number;
|
|
69
|
-
duration?: number;
|
|
70
|
-
summary?: string;
|
|
71
|
-
/** Markdown report for rich UI display. */
|
|
72
|
-
report?: string;
|
|
73
|
-
outputs?: Record<string, unknown>;
|
|
74
|
-
startedAt?: string;
|
|
75
|
-
finishedAt?: string;
|
|
76
|
-
provider?: string;
|
|
77
|
-
cost?: number;
|
|
78
|
-
trace?: HistoricalTraceEvent[];
|
|
79
|
-
nodeMeta?: Record<string, {
|
|
80
|
-
label?: string;
|
|
81
|
-
color?: string;
|
|
82
|
-
icon?: string;
|
|
83
|
-
}>;
|
|
84
|
-
stepLog?: HistoricalStepLog[];
|
|
85
|
-
plan?: HistoricalPlan;
|
|
86
|
-
costDetail?: HistoricalCostSummary;
|
|
87
|
-
auditTrail?: HistoricalAuditEvent[];
|
|
88
|
-
}
|
|
89
|
-
export declare function traceToTimeline(run: HistoricalRun): TimelineEntry[];
|
|
90
|
-
export {};
|
|
91
|
-
//# sourceMappingURL=trace-to-timeline.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trace-to-timeline.d.ts","sourceRoot":"","sources":["../../src/ui/trace-to-timeline.ts"],"names":[],"mappings":"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"}
|