windmill-components 1.379.4 → 1.382.3

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 (199) hide show
  1. package/package/base.d.ts +1 -1
  2. package/package/base.js +1 -1
  3. package/package/components/ArgInput.svelte +33 -3
  4. package/package/components/DisplayResult.svelte +17 -5
  5. package/package/components/EditorBar.svelte +48 -38
  6. package/package/components/EditorBar.svelte.d.ts +2 -0
  7. package/package/components/ErrorOrRecoveryHandler.svelte +3 -2
  8. package/package/components/FlowBuilder.svelte +18 -12
  9. package/package/components/FlowBuilder.svelte.d.ts +3 -2
  10. package/package/components/FlowGraphViewer.svelte +6 -5
  11. package/package/components/FlowJobResult.svelte +4 -2
  12. package/package/components/FlowJobResult.svelte.d.ts +2 -0
  13. package/package/components/FlowStatusViewer.svelte +7 -1
  14. package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
  15. package/package/components/FlowStatusViewerInner.svelte +29 -11
  16. package/package/components/FlowViewer.svelte +3 -1
  17. package/package/components/FlowViewer.svelte.d.ts +1 -0
  18. package/package/components/HighlightCode.svelte +2 -2
  19. package/package/components/ModulePreviewForm.svelte +1 -1
  20. package/package/components/ObjectResourceInput.svelte +7 -2
  21. package/package/components/ObjectResourceInput.svelte.d.ts +2 -0
  22. package/package/components/ResourcePicker.svelte +60 -48
  23. package/package/components/ScriptBuilder.svelte +42 -36
  24. package/package/components/ScriptBuilder.svelte.d.ts +2 -0
  25. package/package/components/ScriptEditor.svelte +3 -1
  26. package/package/components/ScriptEditor.svelte.d.ts +2 -0
  27. package/package/components/ScriptVersionHistory.svelte +63 -7
  28. package/package/components/apps/components/display/AppText.svelte +8 -3
  29. package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte +3 -2
  30. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +22 -5
  31. package/package/components/apps/components/display/table/AppAggridTable.svelte +14 -5
  32. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +23 -8
  33. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +5 -3
  34. package/package/components/apps/components/display/table/utils.js +8 -7
  35. package/package/components/apps/components/helpers/RunnableComponent.svelte +13 -1
  36. package/package/components/apps/components/helpers/eval.js +31 -25
  37. package/package/components/apps/components/inputs/AppSelect.svelte +45 -29
  38. package/package/components/apps/editor/AppEditorHeader.svelte +1 -0
  39. package/package/components/apps/editor/AppReportsDrawer.svelte +4 -3
  40. package/package/components/apps/editor/component/components.d.ts +7 -1
  41. package/package/components/apps/editor/component/components.js +6 -0
  42. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +0 -1
  43. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphHeader.svelte +55 -45
  44. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphHeader.svelte.d.ts +7 -9
  45. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphNode.svelte +66 -59
  46. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphNode.svelte.d.ts +9 -11
  47. package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte +213 -254
  48. package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte.d.ts +0 -1
  49. package/package/components/apps/editor/settingsPanel/decisionTree/nodeHelpers.d.ts +1 -1
  50. package/package/components/apps/editor/settingsPanel/decisionTree/nodeHelpers.js +2 -6
  51. package/package/components/custom_ui.d.ts +35 -1
  52. package/package/components/details/DetailPageDetailPanel.svelte +9 -1
  53. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +2 -1
  54. package/package/components/details/DetailPageLayout.svelte +2 -0
  55. package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
  56. package/package/components/details/EmailTriggerPanel.svelte +128 -0
  57. package/package/components/details/EmailTriggerPanel.svelte.d.ts +20 -0
  58. package/package/components/details/WebhooksPanel.svelte +10 -71
  59. package/package/components/flows/FlowHistory.svelte +1 -0
  60. package/package/components/flows/content/FlowInputs.svelte +0 -1
  61. package/package/components/flows/content/FlowModuleComponent.svelte +8 -2
  62. package/package/components/flows/content/FlowModuleEarlyStop.svelte +193 -66
  63. package/package/components/flows/content/FlowModuleHeader.svelte +1 -1
  64. package/package/components/flows/content/FlowModuleScript.svelte +33 -3
  65. package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
  66. package/package/components/flows/content/FlowModuleSuspend.svelte +15 -0
  67. package/package/components/flows/content/FlowSettings.svelte +26 -15
  68. package/package/components/flows/flowExplorer.js +3 -0
  69. package/package/components/flows/flowInfers.js +1 -1
  70. package/package/components/flows/map/FlowJobsMenu.svelte +39 -44
  71. package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -2
  72. package/package/components/flows/map/FlowModuleSchemaMap.svelte +4 -3
  73. package/package/components/flows/map/InsertModuleButton.svelte +16 -9
  74. package/package/components/flows/map/MapItem.svelte +4 -98
  75. package/package/components/flows/map/MapItem.svelte.d.ts +0 -5
  76. package/package/components/flows/map/VirtualItem.svelte +6 -159
  77. package/package/components/flows/map/VirtualItem.svelte.d.ts +0 -15
  78. package/package/components/flows/propPicker/PropPickerWrapper.svelte +2 -0
  79. package/package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +1 -0
  80. package/package/components/flows/types.d.ts +2 -0
  81. package/package/components/graph/FlowGraphV2.svelte +256 -0
  82. package/package/components/graph/{FlowGraph.svelte.d.ts → FlowGraphV2.svelte.d.ts} +8 -8
  83. package/package/components/graph/graphBuilder.d.ts +15 -0
  84. package/package/components/graph/graphBuilder.js +337 -0
  85. package/package/components/graph/index.d.ts +0 -1
  86. package/package/components/graph/index.js +0 -1
  87. package/package/components/graph/model.d.ts +4 -8
  88. package/package/components/graph/renderers/edges/BaseEdge.svelte +109 -0
  89. package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +35 -0
  90. package/package/components/graph/renderers/edges/DataflowEdge.svelte +37 -0
  91. package/package/components/graph/renderers/edges/DataflowEdge.svelte.d.ts +29 -0
  92. package/package/components/graph/renderers/edges/EmptyEdge.svelte +22 -0
  93. package/package/components/graph/renderers/edges/EmptyEdge.svelte.d.ts +23 -0
  94. package/package/components/graph/renderers/nodes/BranchAllStart.svelte +44 -0
  95. package/package/components/graph/renderers/nodes/BranchAllStart.svelte.d.ts +29 -0
  96. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +41 -0
  97. package/package/components/graph/renderers/nodes/BranchOneStart.svelte.d.ts +29 -0
  98. package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +19 -0
  99. package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte.d.ts +24 -0
  100. package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +20 -0
  101. package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte.d.ts +25 -0
  102. package/package/components/graph/renderers/nodes/InputNode.svelte +74 -0
  103. package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +23 -0
  104. package/package/components/graph/renderers/nodes/ModuleNode.svelte +71 -0
  105. package/package/components/graph/renderers/nodes/ModuleNode.svelte.d.ts +41 -0
  106. package/package/components/graph/renderers/nodes/NoBranchNode.svelte +20 -0
  107. package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +27 -0
  108. package/package/components/graph/renderers/nodes/NodeWrapper.svelte +21 -0
  109. package/package/components/graph/renderers/nodes/NodeWrapper.svelte.d.ts +22 -0
  110. package/package/components/graph/renderers/nodes/ResultNode.svelte +24 -0
  111. package/package/components/graph/renderers/nodes/ResultNode.svelte.d.ts +22 -0
  112. package/package/components/graph/renderers/nodes/branchAllEndNode.svelte +19 -0
  113. package/package/components/graph/renderers/nodes/branchAllEndNode.svelte.d.ts +26 -0
  114. package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +19 -0
  115. package/package/components/graph/renderers/nodes/branchOneEndNode.svelte.d.ts +24 -0
  116. package/package/components/graph/renderers/utils.d.ts +8 -0
  117. package/package/components/graph/renderers/utils.js +26 -0
  118. package/package/components/graph/util.d.ts +1 -2
  119. package/package/components/graph/util.js +2 -8
  120. package/package/components/propertyPicker/PropPickerResult.svelte +6 -1
  121. package/package/components/propertyPicker/PropPickerResult.svelte.d.ts +1 -0
  122. package/package/components/runs/RunsFilter.svelte +15 -17
  123. package/package/components/sidebar/changelogs.js +5 -0
  124. package/package/gen/core/OpenAPI.js +1 -1
  125. package/package/gen/schemas.gen.d.ts +3 -0
  126. package/package/gen/schemas.gen.js +3 -0
  127. package/package/gen/services.gen.d.ts +22 -3
  128. package/package/gen/services.gen.js +38 -2
  129. package/package/gen/types.gen.d.ts +69 -6
  130. package/package/hub.d.ts +11 -0
  131. package/package/hub.js +2 -0
  132. package/package/hubPaths.json +9 -0
  133. package/package/init_scripts/python_failure_module.d.ts +1 -1
  134. package/package/init_scripts/python_failure_module.js +4 -3
  135. package/package/script_helpers.d.ts +2 -2
  136. package/package/script_helpers.js +11 -9
  137. package/package.json +2 -1
  138. package/package/components/graph/FlowGraph.svelte +0 -614
  139. package/package/components/graph/svelvet/LICENSE +0 -21
  140. package/package/components/graph/svelvet/container/README.md +0 -7
  141. package/package/components/graph/svelvet/container/controllers/middleware.d.ts +0 -11
  142. package/package/components/graph/svelvet/container/controllers/middleware.js +0 -87
  143. package/package/components/graph/svelvet/container/models/index.d.ts +0 -0
  144. package/package/components/graph/svelvet/container/models/index.js +0 -1
  145. package/package/components/graph/svelvet/container/views/GraphView.svelte +0 -262
  146. package/package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +0 -26
  147. package/package/components/graph/svelvet/container/views/Svelvet.svelte +0 -121
  148. package/package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +0 -36
  149. package/package/components/graph/svelvet/customCss/controllers/getCss.d.ts +0 -2
  150. package/package/components/graph/svelvet/customCss/controllers/getCss.js +0 -46
  151. package/package/components/graph/svelvet/d3/controllers/d3.d.ts +0 -5
  152. package/package/components/graph/svelvet/d3/controllers/d3.js +0 -59
  153. package/package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +0 -4
  154. package/package/components/graph/svelvet/edges/controllers/anchorCbDev.js +0 -92
  155. package/package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +0 -57
  156. package/package/components/graph/svelvet/edges/controllers/anchorCbUser.js +0 -73
  157. package/package/components/graph/svelvet/edges/controllers/util.d.ts +0 -37
  158. package/package/components/graph/svelvet/edges/controllers/util.js +0 -71
  159. package/package/components/graph/svelvet/edges/models/Anchor.d.ts +0 -48
  160. package/package/components/graph/svelvet/edges/models/Anchor.js +0 -122
  161. package/package/components/graph/svelvet/edges/models/Edge.d.ts +0 -48
  162. package/package/components/graph/svelvet/edges/models/Edge.js +0 -109
  163. package/package/components/graph/svelvet/edges/types/types.d.ts +0 -18
  164. package/package/components/graph/svelvet/edges/types/types.js +0 -1
  165. package/package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +0 -104
  166. package/package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +0 -18
  167. package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +0 -42
  168. package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +0 -17
  169. package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +0 -151
  170. package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +0 -17
  171. package/package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +0 -157
  172. package/package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +0 -60
  173. package/package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +0 -8
  174. package/package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +0 -25
  175. package/package/components/graph/svelvet/edges/views/Edges/types.d.ts +0 -52
  176. package/package/components/graph/svelvet/edges/views/Edges/types.js +0 -1
  177. package/package/components/graph/svelvet/edges/views/Edges/utils.d.ts +0 -33
  178. package/package/components/graph/svelvet/edges/views/Edges/utils.js +0 -31
  179. package/package/components/graph/svelvet/nodes/controllers/util.d.ts +0 -9
  180. package/package/components/graph/svelvet/nodes/controllers/util.js +0 -13
  181. package/package/components/graph/svelvet/nodes/models/Node.d.ts +0 -74
  182. package/package/components/graph/svelvet/nodes/models/Node.js +0 -156
  183. package/package/components/graph/svelvet/nodes/views/Node.svelte +0 -84
  184. package/package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +0 -21
  185. package/package/components/graph/svelvet/store/controllers/storeApi.d.ts +0 -25
  186. package/package/components/graph/svelvet/store/controllers/storeApi.js +0 -91
  187. package/package/components/graph/svelvet/store/controllers/userApi.d.ts +0 -3
  188. package/package/components/graph/svelvet/store/controllers/userApi.js +0 -18
  189. package/package/components/graph/svelvet/store/controllers/util.d.ts +0 -24
  190. package/package/components/graph/svelvet/store/controllers/util.js +0 -148
  191. package/package/components/graph/svelvet/store/models/store.d.ts +0 -13
  192. package/package/components/graph/svelvet/store/models/store.js +0 -12
  193. package/package/components/graph/svelvet/store/types/types.d.ts +0 -127
  194. package/package/components/graph/svelvet/store/types/types.js +0 -1
  195. package/package/components/graph/svelvet/types/README.md +0 -3
  196. package/package/components/graph/svelvet/types/index.d.ts +0 -2
  197. package/package/components/graph/svelvet/types/index.js +0 -1
  198. package/package/components/graph/svelvet/types/types.d.ts +0 -50
  199. package/package/components/graph/svelvet/types/types.js +0 -18
@@ -0,0 +1,29 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { GraphModuleState } from '../../model';
3
+ import type { FlowModule } from '../../../../gen';
4
+ import type { GraphEventHandlers } from '../../graphBuilder';
5
+ declare const __propDef: {
6
+ props: {
7
+ data: {
8
+ label: string;
9
+ branchIndex: number;
10
+ insertable: boolean;
11
+ flowModuleStates: Record<string, GraphModuleState> | undefined;
12
+ id: string;
13
+ modules: FlowModule[];
14
+ selected: boolean;
15
+ eventHandlers: GraphEventHandlers;
16
+ offset: number;
17
+ };
18
+ };
19
+ events: {
20
+ [evt: string]: CustomEvent<any>;
21
+ };
22
+ slots: {};
23
+ };
24
+ export type BranchAllStartProps = typeof __propDef.props;
25
+ export type BranchAllStartEvents = typeof __propDef.events;
26
+ export type BranchAllStartSlots = typeof __propDef.slots;
27
+ export default class BranchAllStart extends SvelteComponent<BranchAllStartProps, BranchAllStartEvents, BranchAllStartSlots> {
28
+ }
29
+ export {};
@@ -0,0 +1,41 @@
1
+ <script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
2
+ import NodeWrapper from './NodeWrapper.svelte';
3
+ import { X } from 'lucide-svelte';
4
+ import { getStateColor } from '../../util';
5
+ import { computeBorderStatus } from '../utils';
6
+ export let data;
7
+ $: borderStatus = computeBorderStatus(data.branchIndex, 'branchone', data.flowModuleStates?.[data.id]);
8
+ </script>
9
+
10
+ <NodeWrapper let:darkMode offset={data.offset}>
11
+ <VirtualItem
12
+ label={data.label}
13
+ selectable
14
+ selected={data.selected}
15
+ bgColor={getStateColor(undefined, darkMode)}
16
+ borderColor={borderStatus
17
+ ? getStateColor(borderStatus, darkMode) + (!darkMode ? '; border-width: 3px' : '')
18
+ : undefined}
19
+ on:select={() => {
20
+ data.eventHandlers.select(data.id)
21
+ }}
22
+ />
23
+ {#if data.insertable}
24
+ <button
25
+ class="z-50 absolute -top-[10px] -right-[10px] rounded-full h-[20px] w-[20px] center-center text-primary
26
+ border-[1.5px] border-gray-700 bg-surface duration-150 hover:bg-red-400 hover:text-white
27
+ hover:border-red-700"
28
+ on:click|preventDefault|stopPropagation={() => {
29
+ data.eventHandlers.deleteBranch(
30
+ {
31
+ module: data.modules.find((m) => m.id === data.id),
32
+ index: data.branchIndex
33
+ },
34
+ data.label
35
+ )
36
+ }}
37
+ >
38
+ <X size={12} />
39
+ </button>
40
+ {/if}
41
+ </NodeWrapper>
@@ -0,0 +1,29 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { GraphModuleState } from '../../model';
3
+ import type { FlowModule } from '../../../../gen';
4
+ import type { GraphEventHandlers } from '../../graphBuilder';
5
+ declare const __propDef: {
6
+ props: {
7
+ data: {
8
+ label: string;
9
+ insertable: boolean;
10
+ flowModuleStates: Record<string, GraphModuleState> | undefined;
11
+ id: string;
12
+ modules: FlowModule[];
13
+ selected: boolean;
14
+ eventHandlers: GraphEventHandlers;
15
+ branchIndex: number;
16
+ offset: number;
17
+ };
18
+ };
19
+ events: {
20
+ [evt: string]: CustomEvent<any>;
21
+ };
22
+ slots: {};
23
+ };
24
+ export type BranchOneStartProps = typeof __propDef.props;
25
+ export type BranchOneStartEvents = typeof __propDef.events;
26
+ export type BranchOneStartSlots = typeof __propDef.slots;
27
+ export default class BranchOneStart extends SvelteComponent<BranchOneStartProps, BranchOneStartEvents, BranchOneStartSlots> {
28
+ }
29
+ export {};
@@ -0,0 +1,19 @@
1
+ <script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
2
+ import NodeWrapper from './NodeWrapper.svelte';
3
+ import { getStateColor } from '../../util';
4
+ export let data;
5
+ </script>
6
+
7
+ <NodeWrapper offset={data.offset} let:darkMode>
8
+ <VirtualItem
9
+ label={'Collect result of each iteration'}
10
+ selectable={true}
11
+ selected={false}
12
+ id={data.id}
13
+ bgColor={getStateColor(undefined, darkMode)}
14
+ borderColor={getStateColor(data.flowModuleStates?.[data.id]?.type, darkMode)}
15
+ on:select={(e) => {
16
+ data?.eventHandlers?.select(e.detail)
17
+ }}
18
+ />
19
+ </NodeWrapper>
@@ -0,0 +1,24 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { GraphModuleState } from '../../model';
3
+ import type { GraphEventHandlers } from '../../graphBuilder';
4
+ declare const __propDef: {
5
+ props: {
6
+ data: {
7
+ offset: number;
8
+ id: string;
9
+ insertable: boolean;
10
+ flowModuleStates: Record<string, GraphModuleState> | undefined;
11
+ eventHandlers: GraphEventHandlers;
12
+ };
13
+ };
14
+ events: {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type ForLoopEndNodeProps = typeof __propDef.props;
20
+ export type ForLoopEndNodeEvents = typeof __propDef.events;
21
+ export type ForLoopEndNodeSlots = typeof __propDef.slots;
22
+ export default class ForLoopEndNode extends SvelteComponent<ForLoopEndNodeProps, ForLoopEndNodeEvents, ForLoopEndNodeSlots> {
23
+ }
24
+ export {};
@@ -0,0 +1,20 @@
1
+ <script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
2
+ import NodeWrapper from './NodeWrapper.svelte';
3
+ import { getStateColor } from '../../util';
4
+ export let data;
5
+ </script>
6
+
7
+ <NodeWrapper let:darkMode offset={data.offset}>
8
+ <VirtualItem
9
+ label={'Do one iteration'}
10
+ selectable={false}
11
+ selected={false}
12
+ id={data.id}
13
+ hideId
14
+ bgColor={getStateColor(undefined, darkMode)}
15
+ borderColor={getStateColor(data.flowModuleStates?.[data.id]?.type, darkMode)}
16
+ on:select={(e) => {
17
+ data?.eventHandlers?.select(e.detail)
18
+ }}
19
+ />
20
+ </NodeWrapper>
@@ -0,0 +1,25 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { FlowModule } from '../../../../gen';
3
+ import type { GraphModuleState } from '../../model';
4
+ import type { GraphEventHandlers } from '../../graphBuilder';
5
+ declare const __propDef: {
6
+ props: {
7
+ data: {
8
+ offset: number;
9
+ id: string;
10
+ modules: FlowModule[];
11
+ flowModuleStates: Record<string, GraphModuleState> | undefined;
12
+ eventHandlers: GraphEventHandlers;
13
+ };
14
+ };
15
+ events: {
16
+ [evt: string]: CustomEvent<any>;
17
+ };
18
+ slots: {};
19
+ };
20
+ export type ForLoopStartNodeProps = typeof __propDef.props;
21
+ export type ForLoopStartNodeEvents = typeof __propDef.events;
22
+ export type ForLoopStartNodeSlots = typeof __propDef.slots;
23
+ export default class ForLoopStartNode extends SvelteComponent<ForLoopStartNodeProps, ForLoopStartNodeEvents, ForLoopStartNodeSlots> {
24
+ }
25
+ export {};
@@ -0,0 +1,74 @@
1
+ <script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
2
+ import { ExternalLink, Wand2 } from 'lucide-svelte';
3
+ import NodeWrapper from './NodeWrapper.svelte';
4
+ import Popover from '../../../Popover.svelte';
5
+ import { getStateColor } from '../../util';
6
+ import Menu from '../../../common/menu/Menu.svelte';
7
+ import { getContext } from 'svelte';
8
+ import { copilotInfo } from '../../../../stores';
9
+ import { base } from '../../../../base';
10
+ export let data;
11
+ let openNoCopilot = false;
12
+ const { drawerStore: copilotDrawerStore } = getContext('FlowCopilotContext') || {};
13
+ const { selectedId } = getContext('FlowGraphContext');
14
+ </script>
15
+
16
+ <NodeWrapper enableTargetHandle={false} let:darkMode>
17
+ {#if data.insertable && !data.disableAi}
18
+ <div class="absolute -top-10 left-1/2 transform -translate-x-1/2 z-10">
19
+ <Popover>
20
+ <div class={openNoCopilot ? 'z-10' : ''}>
21
+ <Menu pointerDown noMinW placement="bottom-center" let:close bind:show={openNoCopilot}>
22
+ <button
23
+ title="AI Flow Builder"
24
+ on:pointerdown={$copilotInfo.exists_openai_resource_path
25
+ ? (ev) => {
26
+ ev.preventDefault()
27
+ ev.stopPropagation()
28
+ $copilotDrawerStore?.openDrawer()
29
+ }
30
+ : undefined}
31
+ slot="trigger"
32
+ type="button"
33
+ class=" bg-surface text-violet-800 dark:text-violet-400 border mx-0.5 focus:outline-none hover:bg-surface-hover focus:ring-4 focus:ring-gray-200 font-medium rounded-full text-sm w-8 h-8 flex items-center justify-center"
34
+ >
35
+ <Wand2 size={16} />
36
+ </button>
37
+ {#if !$copilotInfo.exists_openai_resource_path}
38
+ <div class="text-primary p-4">
39
+ <p class="text-sm w-80">
40
+ Enable Windmill AI in the
41
+ <a
42
+ href="{base}/workspace_settings?tab=openai"
43
+ target="_blank"
44
+ class="inline-flex flex-row items-center gap-1"
45
+ on:click={() => {
46
+ close()
47
+ }}
48
+ >
49
+ workspace settings
50
+ <ExternalLink size={16} />
51
+ </a>
52
+ </p>
53
+ </div>
54
+ {/if}
55
+ </Menu>
56
+ </div>
57
+
58
+ <svelte:fragment slot="text">AI Flow builder</svelte:fragment>
59
+ </Popover>
60
+ </div>
61
+ {/if}
62
+ <VirtualItem
63
+ label="Input"
64
+ selectable
65
+ selected={$selectedId === 'Input'}
66
+ bgColor={getStateColor(undefined, darkMode)}
67
+ on:insert={(e) => {
68
+ data.eventHandlers?.insert(e.detail)
69
+ }}
70
+ on:select={(e) => {
71
+ data.eventHandlers?.select(e.detail)
72
+ }}
73
+ />
74
+ </NodeWrapper>
@@ -0,0 +1,23 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { GraphEventHandlers } from '../../graphBuilder';
3
+ import type { FlowModule } from '../../../../gen';
4
+ declare const __propDef: {
5
+ props: {
6
+ data: {
7
+ insertable: boolean;
8
+ eventHandlers: GraphEventHandlers;
9
+ modules: FlowModule[];
10
+ disableAi: boolean;
11
+ };
12
+ };
13
+ events: {
14
+ [evt: string]: CustomEvent<any>;
15
+ };
16
+ slots: {};
17
+ };
18
+ export type InputNodeProps = typeof __propDef.props;
19
+ export type InputNodeEvents = typeof __propDef.events;
20
+ export type InputNodeSlots = typeof __propDef.slots;
21
+ export default class InputNode extends SvelteComponent<InputNodeProps, InputNodeEvents, InputNodeSlots> {
22
+ }
23
+ export {};
@@ -0,0 +1,71 @@
1
+ <script>import MapItem from '../../../flows/map/MapItem.svelte';
2
+ import { GitBranchPlus } from 'lucide-svelte';
3
+ import NodeWrapper from './NodeWrapper.svelte';
4
+ import { getStateColor } from '../../util';
5
+ export let data;
6
+ $: type = data.flowModuleStates?.[data.module.id]?.type;
7
+ if (!type && data.flowJobs) {
8
+ type = 'InProgress';
9
+ }
10
+ $: state = data.flowModuleStates?.[data.module.id];
11
+ $: flowJobs = state?.flow_jobs
12
+ ? {
13
+ flowJobs: state?.flow_jobs,
14
+ selected: state?.selectedForloopIndex ?? -1,
15
+ flowJobsSuccess: state?.flow_jobs_success
16
+ }
17
+ : undefined;
18
+ let selectedIteration = -1;
19
+ </script>
20
+
21
+ <NodeWrapper offset={data.offset} let:darkMode>
22
+ <MapItem
23
+ mod={data.module}
24
+ insertable={data.insertable}
25
+ annotation={flowJobs &&
26
+ (data.module.value.type === 'forloopflow' || data.module.value.type === 'whileloopflow')
27
+ ? 'Iteration: ' +
28
+ (selectedIteration >= 0 ? selectedIteration : state?.flow_jobs?.length) +
29
+ '/' +
30
+ (state?.iteration_total ?? '?')
31
+ : ''}
32
+ bgColor={getStateColor(type, darkMode, '#fff')}
33
+ modules={data.modules ?? []}
34
+ moving={data.moving}
35
+ duration_ms={state?.duration_ms}
36
+ retries={data.retries}
37
+ {flowJobs}
38
+ on:delete={(e) => {
39
+ data.eventHandlers.delete(e.detail, '')
40
+ }}
41
+ on:insert={(e) => {
42
+ data.eventHandlers.insert(e.detail)
43
+ }}
44
+ on:move={(e) => {
45
+ data.eventHandlers.move(data.module, data.modules)
46
+ }}
47
+ on:newBranch={(e) => {
48
+ data.eventHandlers.newBranch(data.module)
49
+ }}
50
+ on:select={(e) => {
51
+ data.eventHandlers.select(e.detail)
52
+ }}
53
+ on:selectedIteration={(e) => {
54
+ selectedIteration = e.detail.index + 1
55
+ data.eventHandlers.selectedIteration(e.detail, data.module.id)
56
+ }}
57
+ />
58
+
59
+ <div class="absolute -bottom-10 left-1/2 transform -translate-x-1/2 z-10">
60
+ {#if (data.value.type === 'branchall' || data.value.type === 'branchone') && data.insertable}
61
+ <button
62
+ class="rounded-full border hover:bg-surface-hover bg-surface p-1"
63
+ on:click={() => {
64
+ data?.eventHandlers?.newBranch(data.module)
65
+ }}
66
+ >
67
+ <GitBranchPlus size={16} />
68
+ </button>
69
+ {/if}
70
+ </div>
71
+ </NodeWrapper>
@@ -0,0 +1,41 @@
1
+ /// <reference types="node" />
2
+ import { SvelteComponent } from "svelte";
3
+ import type { FlowModule, FlowModuleValue } from '../../../../gen';
4
+ import type { GraphEventHandlers } from '../../graphBuilder';
5
+ import type { GraphModuleState } from '../../model';
6
+ declare const __propDef: {
7
+ props: {
8
+ data: {
9
+ offset: number;
10
+ value: FlowModuleValue;
11
+ module: FlowModule;
12
+ insertable: boolean;
13
+ insertableEnd: boolean;
14
+ branchable: boolean;
15
+ bgColor: string;
16
+ modules: FlowModule[];
17
+ moving: string | undefined;
18
+ disableAi: boolean;
19
+ wrapperId: string | undefined;
20
+ retries: number | undefined;
21
+ flowJobs: {
22
+ flowJobs: string[];
23
+ selected: number;
24
+ flowJobsSuccess: (boolean | undefined)[];
25
+ } | undefined;
26
+ eventHandlers: GraphEventHandlers;
27
+ flowModuleStates: Record<string, GraphModuleState> | undefined;
28
+ selected: boolean;
29
+ };
30
+ };
31
+ events: {
32
+ [evt: string]: CustomEvent<any>;
33
+ };
34
+ slots: {};
35
+ };
36
+ export type ModuleNodeProps = typeof __propDef.props;
37
+ export type ModuleNodeEvents = typeof __propDef.events;
38
+ export type ModuleNodeSlots = typeof __propDef.slots;
39
+ export default class ModuleNode extends SvelteComponent<ModuleNodeProps, ModuleNodeEvents, ModuleNodeSlots> {
40
+ }
41
+ export {};
@@ -0,0 +1,20 @@
1
+ <script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
2
+ import NodeWrapper from './NodeWrapper.svelte';
3
+ import { getStateColor } from '../../util';
4
+ export let data;
5
+ </script>
6
+
7
+ <NodeWrapper offset={data.offset} let:darkMode enableSourceHandle enableTargetHandle>
8
+ <VirtualItem
9
+ label={data.label ?? 'No branches'}
10
+ id={data.id}
11
+ hideId={true}
12
+ selectable={true}
13
+ selected={false}
14
+ bgColor={getStateColor(undefined, darkMode)}
15
+ borderColor={getStateColor(data?.flowModuleStates?.[data?.id]?.type, darkMode)}
16
+ on:select={(e) => {
17
+ data?.eventHandlers?.select(e.detail)
18
+ }}
19
+ />
20
+ </NodeWrapper>
@@ -0,0 +1,27 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { FlowModule } from '../../../../gen';
3
+ import type { GraphEventHandlers } from '../../graphBuilder';
4
+ import type { GraphModuleState } from '../../model';
5
+ declare const __propDef: {
6
+ props: {
7
+ data: {
8
+ id: string;
9
+ insertable: boolean;
10
+ modules: FlowModule[];
11
+ eventHandlers: GraphEventHandlers;
12
+ flowModuleStates: Record<string, GraphModuleState> | undefined;
13
+ offset: number;
14
+ label: string | undefined;
15
+ };
16
+ };
17
+ events: {
18
+ [evt: string]: CustomEvent<any>;
19
+ };
20
+ slots: {};
21
+ };
22
+ export type NoBranchNodeProps = typeof __propDef.props;
23
+ export type NoBranchNodeEvents = typeof __propDef.events;
24
+ export type NoBranchNodeSlots = typeof __propDef.slots;
25
+ export default class NoBranchNode extends SvelteComponent<NoBranchNodeProps, NoBranchNodeEvents, NoBranchNodeSlots> {
26
+ }
27
+ export {};
@@ -0,0 +1,21 @@
1
+ <script>import DarkModeObserver from '../../../DarkModeObserver.svelte';
2
+ import { Handle, Position } from '@xyflow/svelte';
3
+ export let enableSourceHandle = true;
4
+ export let enableTargetHandle = true;
5
+ export let offset = 0;
6
+ let darkMode = false;
7
+ </script>
8
+
9
+ <DarkModeObserver bind:darkMode />
10
+
11
+ <div class="relative shadow-md" style={`margin-left: ${offset}px;`}>
12
+ <slot {darkMode} />
13
+ </div>
14
+
15
+ {#if enableSourceHandle}
16
+ <Handle type="source" position={Position.Bottom} style={`margin-left: ${offset / 2}px;`} />
17
+ {/if}
18
+
19
+ {#if enableTargetHandle}
20
+ <Handle type="target" position={Position.Top} style={`margin-left: ${offset / 2}px;`} />
21
+ {/if}
@@ -0,0 +1,22 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ enableSourceHandle?: boolean | undefined;
5
+ enableTargetHandle?: boolean | undefined;
6
+ offset?: number | undefined;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {
12
+ default: {
13
+ darkMode: boolean;
14
+ };
15
+ };
16
+ };
17
+ export type NodeWrapperProps = typeof __propDef.props;
18
+ export type NodeWrapperEvents = typeof __propDef.events;
19
+ export type NodeWrapperSlots = typeof __propDef.slots;
20
+ export default class NodeWrapper extends SvelteComponent<NodeWrapperProps, NodeWrapperEvents, NodeWrapperSlots> {
21
+ }
22
+ export {};
@@ -0,0 +1,24 @@
1
+ <script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
2
+ import NodeWrapper from './NodeWrapper.svelte';
3
+ import { getStateColor } from '../../util';
4
+ import { getContext } from 'svelte';
5
+ export let data;
6
+ const { selectedId } = getContext('FlowGraphContext');
7
+ </script>
8
+
9
+ <NodeWrapper let:darkMode enableSourceHandle={false}>
10
+ <VirtualItem
11
+ id={'Result'}
12
+ label={'Result'}
13
+ selectable={true}
14
+ selected={$selectedId === 'Result'}
15
+ hideId={true}
16
+ bgColor={getStateColor(
17
+ data.success == undefined ? undefined : data.success ? 'Success' : 'Failure',
18
+ darkMode
19
+ )}
20
+ on:select={(e) => {
21
+ data?.eventHandlers?.select(e.detail)
22
+ }}
23
+ />
24
+ </NodeWrapper>
@@ -0,0 +1,22 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { FlowModule } from '../../../../gen';
3
+ import type { GraphEventHandlers } from '../../graphBuilder';
4
+ declare const __propDef: {
5
+ props: {
6
+ data: {
7
+ eventHandlers: GraphEventHandlers;
8
+ modules: FlowModule[];
9
+ success: boolean | undefined;
10
+ };
11
+ };
12
+ events: {
13
+ [evt: string]: CustomEvent<any>;
14
+ };
15
+ slots: {};
16
+ };
17
+ export type ResultNodeProps = typeof __propDef.props;
18
+ export type ResultNodeEvents = typeof __propDef.events;
19
+ export type ResultNodeSlots = typeof __propDef.slots;
20
+ export default class ResultNode extends SvelteComponent<ResultNodeProps, ResultNodeEvents, ResultNodeSlots> {
21
+ }
22
+ export {};
@@ -0,0 +1,19 @@
1
+ <script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
2
+ import NodeWrapper from './NodeWrapper.svelte';
3
+ import { getStateColor } from '../../util';
4
+ export let data;
5
+ </script>
6
+
7
+ <NodeWrapper offset={data.offset} let:darkMode enableSourceHandle enableTargetHandle>
8
+ <VirtualItem
9
+ label={'Collect result from all branches'}
10
+ id={data.id}
11
+ selectable={true}
12
+ selected={false}
13
+ bgColor={getStateColor(undefined, darkMode)}
14
+ borderColor={getStateColor(data?.flowModuleStates?.[data?.id]?.type, darkMode)}
15
+ on:select={(e) => {
16
+ data?.eventHandlers?.select(e.detail)
17
+ }}
18
+ />
19
+ </NodeWrapper>
@@ -0,0 +1,26 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { FlowModule } from '../../../../gen';
3
+ import type { GraphEventHandlers } from '../../graphBuilder';
4
+ import type { GraphModuleState } from '../../model';
5
+ declare const __propDef: {
6
+ props: {
7
+ data: {
8
+ id: string;
9
+ insertable: boolean;
10
+ modules: FlowModule[];
11
+ eventHandlers: GraphEventHandlers;
12
+ flowModuleStates: Record<string, GraphModuleState> | undefined;
13
+ offset: number;
14
+ };
15
+ };
16
+ events: {
17
+ [evt: string]: CustomEvent<any>;
18
+ };
19
+ slots: {};
20
+ };
21
+ export type BranchAllEndNodeProps = typeof __propDef.props;
22
+ export type BranchAllEndNodeEvents = typeof __propDef.events;
23
+ export type BranchAllEndNodeSlots = typeof __propDef.slots;
24
+ export default class BranchAllEndNode extends SvelteComponent<BranchAllEndNodeProps, BranchAllEndNodeEvents, BranchAllEndNodeSlots> {
25
+ }
26
+ export {};
@@ -0,0 +1,19 @@
1
+ <script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
2
+ import NodeWrapper from './NodeWrapper.svelte';
3
+ import { getStateColor } from '../../util';
4
+ export let data;
5
+ </script>
6
+
7
+ <NodeWrapper let:darkMode offset={data.offset}>
8
+ <VirtualItem
9
+ label={'Collect result from all branches'}
10
+ id={data.id}
11
+ selectable={true}
12
+ selected={false}
13
+ bgColor={getStateColor(undefined, darkMode)}
14
+ borderColor={getStateColor(data?.flowModuleStates?.[data?.id]?.type, darkMode)}
15
+ on:select={(e) => {
16
+ data?.eventHandlers?.select(e.detail)
17
+ }}
18
+ />
19
+ </NodeWrapper>
@@ -0,0 +1,24 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { GraphEventHandlers } from '../../graphBuilder';
3
+ import type { GraphModuleState } from '../../model';
4
+ declare const __propDef: {
5
+ props: {
6
+ data: {
7
+ id: string;
8
+ insertable: boolean;
9
+ eventHandlers: GraphEventHandlers;
10
+ flowModuleStates: Record<string, GraphModuleState> | undefined;
11
+ offset: number;
12
+ };
13
+ };
14
+ events: {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type BranchOneEndNodeProps = typeof __propDef.props;
20
+ export type BranchOneEndNodeEvents = typeof __propDef.events;
21
+ export type BranchOneEndNodeSlots = typeof __propDef.slots;
22
+ export default class BranchOneEndNode extends SvelteComponent<BranchOneEndNodeProps, BranchOneEndNodeEvents, BranchOneEndNodeSlots> {
23
+ }
24
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { FlowStatusModule } from '../../../gen';
2
+ import type { GraphModuleState } from '../model';
3
+ export declare function getStraightLinePath({ sourceX, sourceY, targetY }: {
4
+ sourceX: any;
5
+ sourceY: any;
6
+ targetY: any;
7
+ }): string;
8
+ export declare function computeBorderStatus(branchIndex: number, type: 'branchone' | 'branchall', graphModuleState: GraphModuleState | undefined): FlowStatusModule['type'] | undefined;