windmill-components 1.394.8 → 1.405.5

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 (305) hide show
  1. package/package/assets/app.css +20 -0
  2. package/package/ata/edgeCases.d.ts +0 -1
  3. package/package/ata/edgeCases.js +2 -8
  4. package/package/ata/index.js +4 -3
  5. package/package/common.d.ts +1 -1
  6. package/package/common.js +2 -2
  7. package/package/components/ApiConnectForm.svelte +33 -7
  8. package/package/components/AppConnectLightweightResourcePicker.svelte +66 -0
  9. package/package/components/AppConnectLightweightResourcePicker.svelte.d.ts +21 -0
  10. package/package/components/ArgInput.svelte +10 -4
  11. package/package/components/ArgInput.svelte.d.ts +1 -0
  12. package/package/components/CenteredModal.svelte +4 -1
  13. package/package/components/CenteredModal.svelte.d.ts +1 -0
  14. package/package/components/CustomPopover.svelte +1 -1
  15. package/package/components/DateInput.svelte +2 -0
  16. package/package/components/DateInput.svelte.d.ts +1 -0
  17. package/package/components/DefaultScripts.svelte +8 -3
  18. package/package/components/DefaultScripts.svelte.d.ts +5 -1
  19. package/package/components/DefaultScriptsInner.svelte +16 -7
  20. package/package/components/DefaultScriptsInner.svelte.d.ts +3 -1
  21. package/package/components/Dev.svelte +68 -11
  22. package/package/components/DisplayResult.svelte +1 -1
  23. package/package/components/DropdownV2.svelte.d.ts +3 -3
  24. package/package/components/DropdownV2Inner.svelte.d.ts +3 -3
  25. package/package/components/EditableSchemaForm.svelte +1 -0
  26. package/package/components/Editor.svelte +3 -2
  27. package/package/components/Editor.svelte.d.ts +1 -1
  28. package/package/components/ExecutionDuration.svelte +44 -0
  29. package/package/components/ExecutionDuration.svelte.d.ts +24 -0
  30. package/package/components/FlowBuilder.svelte +22 -12
  31. package/package/components/FlowBuilder.svelte.d.ts +1 -0
  32. package/package/components/FlowGraphViewer.svelte +9 -2
  33. package/package/components/FlowGraphViewerStep.svelte +23 -10
  34. package/package/components/FlowInputViewer.svelte +25 -0
  35. package/package/components/FlowInputViewer.svelte.d.ts +19 -0
  36. package/package/components/FlowJobResult.svelte +8 -2
  37. package/package/components/FlowJobResult.svelte.d.ts +1 -0
  38. package/package/components/FlowMetadata.svelte +2 -2
  39. package/package/components/FlowStatusViewer.svelte +3 -1
  40. package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
  41. package/package/components/FlowStatusViewerInner.svelte +21 -5
  42. package/package/components/FlowTimeline.svelte +3 -3
  43. package/package/components/FlowViewer.svelte +2 -21
  44. package/package/components/HighlightCode.svelte +3 -0
  45. package/package/components/IconedResourceType.svelte +17 -10
  46. package/package/components/IconedResourceType.svelte.d.ts +2 -0
  47. package/package/components/IdEditorInput.svelte +0 -1
  48. package/package/components/InstanceSettings.svelte +247 -129
  49. package/package/components/InstanceSettings.svelte.d.ts +2 -0
  50. package/package/components/JobArgs.svelte +3 -1
  51. package/package/components/LightweightArgInput.svelte +35 -10
  52. package/package/components/LightweightArgInput.svelte.d.ts +1 -0
  53. package/package/components/LightweightObjectResourceInput.svelte +2 -0
  54. package/package/components/LightweightObjectResourceInput.svelte.d.ts +1 -0
  55. package/package/components/LightweightResourcePicker.svelte +34 -30
  56. package/package/components/LightweightSchemaForm.svelte +2 -0
  57. package/package/components/LightweightSchemaForm.svelte.d.ts +1 -0
  58. package/package/components/LogViewer.svelte +4 -3
  59. package/package/components/LogViewer.svelte.d.ts +1 -0
  60. package/package/components/Login.svelte +10 -5
  61. package/package/components/Login.svelte.d.ts +1 -0
  62. package/package/components/ManualPopover.svelte +1 -1
  63. package/package/components/ModulePreview.svelte +21 -2
  64. package/package/components/ModuleStatus.svelte +3 -0
  65. package/package/components/ModuleStatus.svelte.d.ts +1 -0
  66. package/package/components/OAuthSetting.svelte +40 -15
  67. package/package/components/ObjectResourceInput.svelte +5 -2
  68. package/package/components/ObjectResourceInput.svelte.d.ts +2 -0
  69. package/package/components/ObjectStoreConfigSettings.svelte +78 -76
  70. package/package/components/ParqetCsvTableRenderer.svelte +25 -3
  71. package/package/components/Password.svelte.d.ts +1 -1
  72. package/package/components/Path.svelte +74 -54
  73. package/package/components/Path.svelte.d.ts +2 -1
  74. package/package/components/Popover.svelte +1 -1
  75. package/package/components/Portal.svelte +7 -8
  76. package/package/components/Portal.svelte.d.ts +3 -7
  77. package/package/components/QueueMetricsDrawer.svelte +368 -3
  78. package/package/components/QueueMetricsDrawer.svelte.d.ts +2 -0
  79. package/package/components/ResourceEditor.svelte +38 -10
  80. package/package/components/ResourcePicker.svelte +14 -9
  81. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  82. package/package/components/ResultJobLoader.svelte +6 -3
  83. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  84. package/package/components/RunForm.svelte +1 -1
  85. package/package/components/SavedInputs.svelte +2 -2
  86. package/package/components/ScheduleEditorInner.svelte +2 -2
  87. package/package/components/SchemaForm.svelte +6 -1
  88. package/package/components/ScriptBuilder.svelte +12 -5
  89. package/package/components/ScriptEditor.svelte +33 -3
  90. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  91. package/package/components/ScriptVersionHistory.svelte +54 -59
  92. package/package/components/Scrollable.svelte +47 -0
  93. package/package/components/Scrollable.svelte.d.ts +21 -0
  94. package/package/components/ShareModal.svelte.d.ts +2 -2
  95. package/package/components/SuperadminSettings.svelte +5 -7
  96. package/package/components/TestConnection.svelte +1 -0
  97. package/package/components/TestJobLoader.svelte +46 -5
  98. package/package/components/TestJobLoader.svelte.d.ts +2 -1
  99. package/package/components/TimeAgo.svelte +5 -6
  100. package/package/components/TimeAgo.svelte.d.ts +1 -1
  101. package/package/components/ToggleHubWorkspaceQuick.svelte +14 -0
  102. package/package/components/ToggleHubWorkspaceQuick.svelte.d.ts +16 -0
  103. package/package/components/WorkspaceGroup.svelte +3 -2
  104. package/package/components/apps/components/buttons/AppButton.svelte +1 -1
  105. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +1 -1
  106. package/package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
  107. package/package/components/apps/components/inputs/AppMultiSelect.svelte +1 -1
  108. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +1 -1
  109. package/package/components/apps/components/inputs/AppSelect.svelte +1 -1
  110. package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
  111. package/package/components/apps/components/layout/AppModal.svelte +1 -1
  112. package/package/components/apps/editor/AppEditor.svelte +11 -3
  113. package/package/components/apps/editor/GridEditor.svelte +57 -4
  114. package/package/components/apps/editor/GridEditor.svelte.d.ts +8 -0
  115. package/package/components/apps/editor/GridEditorMenu.svelte +1 -1
  116. package/package/components/apps/editor/SubGridEditor.svelte +82 -3
  117. package/package/components/apps/editor/SubGridEditor.svelte.d.ts +16 -0
  118. package/package/components/apps/editor/appUtils.d.ts +19 -2
  119. package/package/components/apps/editor/appUtils.js +103 -7
  120. package/package/components/apps/editor/component/Component.svelte +36 -8
  121. package/package/components/apps/editor/component/Component.svelte.d.ts +3 -1
  122. package/package/components/apps/editor/component/components.d.ts +79 -79
  123. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +1 -1
  124. package/package/components/apps/svelte-grid/Grid.svelte +235 -12
  125. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +7 -7
  126. package/package/components/apps/svelte-grid/MoveResize.svelte +104 -11
  127. package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +7 -0
  128. package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
  129. package/package/components/apps/svelte-grid/utils/item.js +2 -3
  130. package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte +1 -1
  131. package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte +1 -1
  132. package/package/components/apps/svelte-select/lib/Select.svelte +1 -1
  133. package/package/components/common/button/ButtonDropdown.svelte +1 -1
  134. package/package/components/common/drawer/ConditionalPortal.svelte +1 -1
  135. package/package/components/common/fileUpload/FileUpload.svelte +1 -1
  136. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  137. package/package/components/common/menu/Menu.svelte +2 -1
  138. package/package/components/common/menu/MenuV2.svelte +4 -2
  139. package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
  140. package/package/components/common/modal/AlwaysMountedModal.svelte +1 -1
  141. package/package/components/common/popup/Popup.svelte +22 -12
  142. package/package/components/common/popup/Popup.svelte.d.ts +2 -0
  143. package/package/components/common/popup/PopupV2.svelte +58 -0
  144. package/package/components/common/popup/PopupV2.svelte.d.ts +27 -0
  145. package/package/components/copilot/CronGen.svelte +1 -1
  146. package/package/components/copilot/RegexGen.svelte +4 -4
  147. package/package/components/copilot/StepGen.svelte +6 -6
  148. package/package/components/copilot/StepGenQuick.svelte +58 -0
  149. package/package/components/copilot/StepGenQuick.svelte.d.ts +24 -0
  150. package/package/components/copilot/flow.d.ts +2 -0
  151. package/package/components/copilot/flow.js +55 -0
  152. package/package/components/details/DetailPageDetailPanel.svelte +9 -1
  153. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +2 -1
  154. package/package/components/details/DetailPageLayout.svelte +2 -0
  155. package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
  156. package/package/components/details/Menu.svelte +1 -1
  157. package/package/components/details/utils.d.ts +0 -1
  158. package/package/components/details/utils.js +1 -12
  159. package/package/components/flows/CreateActionsApp.svelte +1 -1
  160. package/package/components/flows/FlowEditor.svelte +4 -2
  161. package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
  162. package/package/components/flows/FlowHistory.svelte +10 -195
  163. package/package/components/flows/FlowHistory.svelte.d.ts +0 -1
  164. package/package/components/flows/FlowHistoryInner.svelte +200 -0
  165. package/package/components/flows/FlowHistoryInner.svelte.d.ts +19 -0
  166. package/package/components/flows/FlowProgressBar.svelte +16 -1
  167. package/package/components/flows/FlowProgressBar.svelte.d.ts +1 -0
  168. package/package/components/flows/content/FlowBranchesAllWrapper.svelte +8 -0
  169. package/package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +1 -0
  170. package/package/components/flows/content/FlowBranchesOneWrapper.svelte +8 -0
  171. package/package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +1 -0
  172. package/package/components/flows/content/FlowConstants.svelte +1 -1
  173. package/package/components/flows/content/FlowEditorPanel.svelte +5 -1
  174. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
  175. package/package/components/flows/content/FlowInput.svelte +66 -58
  176. package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
  177. package/package/components/flows/content/FlowInputs.svelte +7 -6
  178. package/package/components/flows/content/FlowInputs.svelte.d.ts +1 -0
  179. package/package/components/flows/content/FlowInputsFlowQuick.svelte +65 -0
  180. package/package/components/flows/content/FlowInputsFlowQuick.svelte.d.ts +19 -0
  181. package/package/components/flows/content/FlowInputsQuick.svelte +419 -0
  182. package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +33 -0
  183. package/package/components/flows/content/FlowLoop.svelte +7 -1
  184. package/package/components/flows/content/FlowModuleComponent.svelte +12 -3
  185. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
  186. package/package/components/flows/content/FlowModuleScript.svelte +1 -1
  187. package/package/components/flows/content/FlowModuleSkip.svelte +69 -0
  188. package/package/components/flows/content/FlowModuleSkip.svelte.d.ts +20 -0
  189. package/package/components/flows/content/FlowModuleWrapper.svelte +17 -4
  190. package/package/components/flows/content/FlowPreprocessorModule.svelte +16 -0
  191. package/package/components/flows/content/FlowPreprocessorModule.svelte.d.ts +16 -0
  192. package/package/components/flows/content/FlowWhileLoop.svelte +9 -0
  193. package/package/components/flows/content/FlowWhileLoop.svelte.d.ts +1 -0
  194. package/package/components/flows/content/GenAiQuick.svelte +30 -0
  195. package/package/components/flows/content/GenAiQuick.svelte.d.ts +20 -0
  196. package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
  197. package/package/components/flows/flowInfers.js +1 -1
  198. package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
  199. package/package/components/flows/idUtils.js +3 -1
  200. package/package/components/flows/map/FlowCopilotButton.svelte +55 -0
  201. package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +16 -0
  202. package/package/components/flows/map/FlowErrorHandlerItem.svelte +77 -47
  203. package/package/components/flows/map/FlowJobsMenu.svelte +1 -1
  204. package/package/components/flows/map/FlowModuleSchemaItem.svelte +25 -12
  205. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  206. package/package/components/flows/map/FlowModuleSchemaMap.svelte +64 -20
  207. package/package/components/flows/map/InsertModuleButton.svelte +161 -138
  208. package/package/components/flows/map/InsertModuleButton.svelte.d.ts +7 -4
  209. package/package/components/flows/map/MapItem.svelte +11 -0
  210. package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
  211. package/package/components/flows/pickers/FlowScriptPickerQuick.svelte +48 -0
  212. package/package/components/flows/pickers/FlowScriptPickerQuick.svelte.d.ts +23 -0
  213. package/package/components/flows/pickers/FlowToplevelNode.svelte +19 -0
  214. package/package/components/flows/pickers/FlowToplevelNode.svelte.d.ts +19 -0
  215. package/package/components/flows/pickers/PickHubScriptQuick.svelte +138 -0
  216. package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +33 -0
  217. package/package/components/flows/pickers/TopLevelNode.svelte +58 -0
  218. package/package/components/flows/pickers/TopLevelNode.svelte.d.ts +21 -0
  219. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +120 -0
  220. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +35 -0
  221. package/package/components/flows/types.d.ts +1 -0
  222. package/package/components/graph/FlowGraphV2.svelte +93 -58
  223. package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -1
  224. package/package/components/graph/graphBuilder.d.ts +2 -1
  225. package/package/components/graph/graphBuilder.js +345 -280
  226. package/package/components/graph/model.d.ts +2 -0
  227. package/package/components/graph/renderers/edges/BaseEdge.svelte +36 -14
  228. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
  229. package/package/components/graph/renderers/nodes/InputNode.svelte +31 -51
  230. package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +6 -1
  231. package/package/components/graph/renderers/nodes/ModuleNode.svelte +2 -1
  232. package/package/components/graph/util.d.ts +1 -1
  233. package/package/components/graph/util.js +7 -2
  234. package/package/components/home/ListFiltersQuick.svelte +51 -0
  235. package/package/components/home/ListFiltersQuick.svelte.d.ts +23 -0
  236. package/package/components/icons/AnsibleIcon.svelte +42 -0
  237. package/package/components/icons/AnsibleIcon.svelte.d.ts +25 -0
  238. package/package/components/icons/WindmillIcon.svelte +119 -105
  239. package/package/components/icons/WindmillIcon2.svelte +141 -0
  240. package/package/components/icons/WindmillIcon2.svelte.d.ts +20 -0
  241. package/package/components/icons/index.d.ts +2 -1
  242. package/package/components/icons/index.js +2 -1
  243. package/package/components/icons/store.d.ts +4 -0
  244. package/package/components/icons/store.js +1 -0
  245. package/package/components/instanceSettings.d.ts +2 -2
  246. package/package/components/instanceSettings.js +25 -58
  247. package/package/components/jobs/JobProgressBar.svelte +52 -0
  248. package/package/components/jobs/JobProgressBar.svelte.d.ts +23 -0
  249. package/package/components/multiselect/MultiSelectWrapper.svelte +1 -1
  250. package/package/components/progressBar/ProgressBar.svelte +18 -1
  251. package/package/components/progressBar/ProgressBar.svelte.d.ts +3 -0
  252. package/package/components/propertyPicker/ObjectViewer.svelte +1 -1
  253. package/package/components/runs/JobPreview.svelte +1 -0
  254. package/package/components/runs/PreprocessedArgsDisplay.svelte +71 -0
  255. package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +16 -0
  256. package/package/components/runs/RunRow.svelte +3 -7
  257. package/package/components/schema/AddProperty.svelte +1 -0
  258. package/package/components/schema/EditableSchemaWrapper.svelte +142 -19
  259. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -0
  260. package/package/components/schema/FlowPropertyEditor.svelte +13 -0
  261. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -0
  262. package/package/components/scriptEditor/LogPanel.svelte +1 -0
  263. package/package/components/scriptEditor/LogPanel.svelte.d.ts +3 -1
  264. package/package/components/search/GlobalSearchModal.svelte +3 -2
  265. package/package/components/sidebar/SidebarContent.svelte +69 -8
  266. package/package/components/sidebar/changelogs.js +10 -0
  267. package/package/components/triggers/RouteEditor.svelte +19 -0
  268. package/package/components/triggers/RouteEditor.svelte.d.ts +21 -0
  269. package/package/components/triggers/RouteEditorInner.svelte +327 -0
  270. package/package/components/triggers/RouteEditorInner.svelte.d.ts +21 -0
  271. package/package/components/triggers/RoutesPanel.svelte +74 -0
  272. package/package/components/triggers/RoutesPanel.svelte.d.ts +17 -0
  273. package/package/editorUtils.js +2 -0
  274. package/package/gen/core/OpenAPI.js +1 -1
  275. package/package/gen/schemas.gen.d.ts +159 -8
  276. package/package/gen/schemas.gen.js +161 -8
  277. package/package/gen/services.gen.d.ts +139 -1
  278. package/package/gen/services.gen.js +282 -1
  279. package/package/gen/types.gen.d.ts +455 -12
  280. package/package/hubPaths.json +6 -8
  281. package/package/infer.d.ts +4 -2
  282. package/package/infer.js +25 -23
  283. package/package/inferArgSig.js +8 -2
  284. package/package/monaco_workers/graphql.worker.bundle.js +45440 -174
  285. package/package/relative_imports.d.ts +3 -0
  286. package/package/relative_imports.js +25 -0
  287. package/package/script_helpers.d.ts +38 -34
  288. package/package/script_helpers.js +245 -35
  289. package/package/scripts.d.ts +1 -1
  290. package/package/scripts.js +5 -1
  291. package/package/stores.d.ts +1 -0
  292. package/package/stores.js +1 -0
  293. package/package/utils.d.ts +1 -0
  294. package/package/utils.js +4 -0
  295. package/package.json +38 -7
  296. package/package/components/flows/map/InsertTriggerButton.svelte +0 -48
  297. package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +0 -24
  298. package/package/init_scripts/python_failure_module.d.ts +0 -2
  299. package/package/init_scripts/python_failure_module.js +0 -8
  300. package/package/init_scripts/python_init_code.d.ts +0 -2
  301. package/package/init_scripts/python_init_code.js +0 -40
  302. package/package/init_scripts/python_init_code_clear.d.ts +0 -2
  303. package/package/init_scripts/python_init_code_clear.js +0 -5
  304. package/package/init_scripts/python_init_code_trigger.d.ts +0 -2
  305. package/package/init_scripts/python_init_code_trigger.js +0 -14
@@ -11,12 +11,14 @@ export let disableStaticInputs = false;
11
11
  export let disableTutorials = false;
12
12
  export let disableAi = false;
13
13
  export let disableSettings = false;
14
+ export let disabledFlowInputs = false;
14
15
  export let smallErrorHandler = false;
15
- let size = 40;
16
+ let size = 50;
16
17
  const { currentStepStore: copilotCurrentStepStore } = getContext('FlowCopilotContext');
17
18
  </script>
18
19
 
19
20
  <div
21
+ id="flow-editor"
20
22
  class={classNames(
21
23
  'h-full overflow-hidden transition-colors duration-[400ms] ease-linear border-t',
22
24
  $copilotCurrentStepStore !== undefined ? 'border-gray-500/75' : ''
@@ -52,7 +54,7 @@ const { currentStepStore: copilotCurrentStepStore } = getContext('FlowCopilotCon
52
54
  </div>
53
55
  </div>
54
56
  {:else}
55
- <FlowEditorPanel enableAi={!disableAi} />
57
+ <FlowEditorPanel {disabledFlowInputs} enableAi={!disableAi} />
56
58
  {/if}
57
59
  </Pane>
58
60
  </Splitpanes>
@@ -6,6 +6,7 @@ declare const __propDef: {
6
6
  disableTutorials?: boolean | undefined;
7
7
  disableAi?: boolean | undefined;
8
8
  disableSettings?: boolean | undefined;
9
+ disabledFlowInputs?: boolean | undefined;
9
10
  smallErrorHandler?: boolean | undefined;
10
11
  };
11
12
  events: {
@@ -1,76 +1,13 @@
1
- <script>import { Pane, Splitpanes } from 'svelte-splitpanes';
2
- import PanelSection from '../apps/editor/settingsPanel/common/PanelSection.svelte';
3
- import { classNames, displayDate, emptyString, sendUserToast } from '../../utils';
4
- import { FlowService } from '../../gen';
5
- import { workspaceStore } from '../../stores';
6
- import { Skeleton } from '../common';
1
+ <script>import { createEventDispatcher } from 'svelte';
7
2
  import Drawer from '../common/drawer/Drawer.svelte';
8
3
  import DrawerContent from '../common/drawer/DrawerContent.svelte';
9
- import Button from '../common/button/Button.svelte';
10
- import { ArrowRight, Loader2, Pencil, X } from 'lucide-svelte';
11
- import { createEventDispatcher } from 'svelte';
4
+ import FlowHistoryInner from './FlowHistoryInner.svelte';
12
5
  export let path;
13
6
  let drawer;
14
- let loading = false;
15
- let versions = [];
16
- let selectedVersion = undefined;
17
- let selected = undefined;
18
- let deploymentMsgUpdateMode = false;
19
- let deploymentMsgUpdate = undefined;
20
7
  export function open() {
21
- loadVersions();
22
8
  drawer.openDrawer();
23
9
  }
24
- async function loadFlow(version) {
25
- selected = await FlowService.getFlowVersion({
26
- workspace: $workspaceStore,
27
- version,
28
- path
29
- });
30
- }
31
- async function loadVersions() {
32
- loading = true;
33
- versions = await FlowService.getFlowHistory({
34
- workspace: $workspaceStore,
35
- path: path
36
- });
37
- loading = false;
38
- }
39
- async function updateDeploymentMsg(version) {
40
- if (selectedVersion === undefined ||
41
- version === undefined ||
42
- emptyString(deploymentMsgUpdate)) {
43
- return;
44
- }
45
- await FlowService.updateFlowHistory({
46
- workspace: $workspaceStore,
47
- version,
48
- path,
49
- requestBody: {
50
- deployment_msg: deploymentMsgUpdate
51
- }
52
- });
53
- selectedVersion.deployment_msg = deploymentMsgUpdate;
54
- deploymentMsgUpdateMode = false;
55
- loadVersions();
56
- }
57
10
  const dispatch = createEventDispatcher();
58
- async function restoreVersion(flow) {
59
- if (!flow)
60
- return;
61
- await FlowService.updateFlow({
62
- workspace: $workspaceStore,
63
- requestBody: {
64
- ...flow,
65
- path
66
- },
67
- path
68
- });
69
- dispatch('historyRestore');
70
- drawer?.closeDrawer();
71
- sendUserToast('Flow restored from previous deployment');
72
- }
73
- $: selectedVersion !== undefined && loadFlow(selectedVersion.id);
74
11
  </script>
75
12
 
76
13
  <Drawer bind:this={drawer} size="1200px">
@@ -79,136 +16,14 @@ $: selectedVersion !== undefined && loadFlow(selectedVersion.id);
79
16
  drawer?.closeDrawer()
80
17
  }}
81
18
  noPadding
19
+ title="Deployment History"
82
20
  >
83
- <Splitpanes class="!overflow-visible">
84
- <Pane size={20}>
85
- <PanelSection title="Past Deployments">
86
- <div class="flex flex-col gap-2 w-full">
87
- {#if !loading}
88
- {#if versions.length > 0}
89
- <div class="flex gap-2 flex-col">
90
- {#each versions ?? [] as version}
91
- <!-- svelte-ignore a11y-click-events-have-key-events -->
92
- <div
93
- class={classNames(
94
- 'border flex gap-1 truncate justify-between flex-row w-full items-center p-2 rounded-md cursor-pointer hover:bg-blue-50 hover:text-blue-400',
95
- selectedVersion?.id == version.id ? 'bg-blue-100 text-blue-600' : ''
96
- )}
97
- role="button"
98
- tabindex="0"
99
- on:click={() => {
100
- selectedVersion = version
101
- }}
102
- >
103
- <span class="text-xs truncate">
104
- {#if emptyString(version.deployment_msg)}Version {version.id}{:else}{version.deployment_msg}{/if}
105
- </span>
106
- </div>
107
- {/each}
108
- </div>
109
- {:else}
110
- <div class="text-sm text-tertiary">No items</div>
111
- {/if}
112
- {:else}
113
- <Skeleton layout={[[40], [40], [40], [40], [40]]} />
114
- {/if}
115
- </div>
116
- </PanelSection>
117
- </Pane>
118
- <Pane size={80}>
119
- <div class="h-full w-full overflow-auto">
120
- {#if selectedVersion}
121
- {#if selected}
122
- <div class="px-2 flex flex-col gap-2">
123
- <span class="flex flex-row text-sm p-1 text-tertiary">
124
- {#if deploymentMsgUpdateMode}
125
- <div class="flex w-full">
126
- <input
127
- type="text"
128
- bind:value={deploymentMsgUpdate}
129
- class="!w-auto grow"
130
- on:click|stopPropagation={() => {}}
131
- on:keydown|stopPropagation
132
- on:keypress|stopPropagation={({ key }) => {
133
- if (key === 'Enter') updateDeploymentMsg(selectedVersion?.id)
134
- }}
135
- />
136
- <Button
137
- size="xs"
138
- color="blue"
139
- buttonType="button"
140
- btnClasses="!p-1 !w-[34px] !ml-1"
141
- aria-label="Save Deployment Message"
142
- on:click={() => {
143
- updateDeploymentMsg(selectedVersion?.id)
144
- }}
145
- >
146
- <ArrowRight size={14} />
147
- </Button>
148
- <Button
149
- size="xs"
150
- color="light"
151
- buttonType="button"
152
- btnClasses="!p-1 !w-[34px] !ml-1"
153
- aria-label="Abort"
154
- on:click={() => {
155
- deploymentMsgUpdateMode = false
156
- deploymentMsgUpdate = undefined
157
- }}
158
- >
159
- <X size={14} />
160
- </Button>
161
- </div>
162
- {:else}
163
- {#if selectedVersion.deployment_msg}
164
- {selectedVersion.deployment_msg}
165
- {:else}
166
- Deployed {displayDate(selected.edited_at)} by {selected.edited_by}
167
- {/if}
168
- <button
169
- on:click={() => {
170
- deploymentMsgUpdate = selectedVersion?.deployment_msg
171
- deploymentMsgUpdateMode = true
172
- }}
173
- title="Update commit message"
174
- class="flex items-center px-1 rounded-sm hover:text-primary text-secondary h-5"
175
- aria-label="Update commit message"
176
- >
177
- <Pencil size={14} />
178
- </button>
179
- {/if}
180
- </span>
181
- <div class="flex p-1 gap-2">
182
- <Button
183
- size="xs"
184
- on:click={() =>
185
- window.open(
186
- `/flows/add?template_id=${selectedVersion?.id}&template=${path}`,
187
- '_blank'
188
- )}
189
- >
190
- Restore as fork
191
- </Button>
192
- <Button size="xs" on:click={() => restoreVersion(selected)}
193
- >Redeploy with that version
194
- </Button>
195
- </div>
196
- {#await import('../FlowViewer.svelte')}
197
- <Loader2 class="animate-spin" />
198
- {:then Module}
199
- <Module.default flow={selected} />
200
- {/await}
201
- </div>
202
- {:else}
203
- <Skeleton layout={[[40]]} />
204
- {/if}
205
- {:else}
206
- <div class="text-sm p-2 text-tertiary"
207
- >Select a deployment version to see its details</div
208
- >
209
- {/if}
210
- </div>
211
- </Pane>
212
- </Splitpanes>
21
+ <FlowHistoryInner
22
+ on:historyRestore={() => {
23
+ drawer.closeDrawer()
24
+ dispatch('historyRestore')
25
+ }}
26
+ {path}
27
+ />
213
28
  </DrawerContent>
214
29
  </Drawer>
@@ -5,7 +5,6 @@ declare const __propDef: {
5
5
  open?: (() => void) | undefined;
6
6
  };
7
7
  events: {
8
- keydown: KeyboardEvent;
9
8
  historyRestore: CustomEvent<any>;
10
9
  } & {
11
10
  [evt: string]: CustomEvent<any>;
@@ -0,0 +1,200 @@
1
+ <script>import { Pane, Splitpanes } from 'svelte-splitpanes';
2
+ import { classNames, displayDate, emptyString, sendUserToast } from '../../utils';
3
+ import { FlowService } from '../../gen';
4
+ import { workspaceStore } from '../../stores';
5
+ import { Skeleton } from '../common';
6
+ import Button from '../common/button/Button.svelte';
7
+ import { ArrowRight, Loader2, Pencil, X } from 'lucide-svelte';
8
+ import { createEventDispatcher } from 'svelte';
9
+ export let path;
10
+ let loading = false;
11
+ let versions = [];
12
+ let selectedVersion = undefined;
13
+ let selected = undefined;
14
+ let deploymentMsgUpdateMode = false;
15
+ let deploymentMsgUpdate = undefined;
16
+ async function loadFlow(version) {
17
+ selected = await FlowService.getFlowVersion({
18
+ workspace: $workspaceStore,
19
+ version,
20
+ path
21
+ });
22
+ }
23
+ async function loadVersions() {
24
+ loading = true;
25
+ versions = await FlowService.getFlowHistory({
26
+ workspace: $workspaceStore,
27
+ path: path
28
+ });
29
+ loading = false;
30
+ }
31
+ async function updateDeploymentMsg(version) {
32
+ if (selectedVersion === undefined ||
33
+ version === undefined ||
34
+ emptyString(deploymentMsgUpdate)) {
35
+ return;
36
+ }
37
+ await FlowService.updateFlowHistory({
38
+ workspace: $workspaceStore,
39
+ version,
40
+ path,
41
+ requestBody: {
42
+ deployment_msg: deploymentMsgUpdate
43
+ }
44
+ });
45
+ selectedVersion.deployment_msg = deploymentMsgUpdate;
46
+ deploymentMsgUpdateMode = false;
47
+ loadVersions();
48
+ }
49
+ const dispatch = createEventDispatcher();
50
+ async function restoreVersion(flow) {
51
+ if (!flow)
52
+ return;
53
+ await FlowService.updateFlow({
54
+ workspace: $workspaceStore,
55
+ requestBody: {
56
+ ...flow,
57
+ path
58
+ },
59
+ path
60
+ });
61
+ dispatch('historyRestore');
62
+ sendUserToast('Flow restored from previous deployment');
63
+ }
64
+ loadVersions();
65
+ $: selectedVersion !== undefined && loadFlow(selectedVersion.id);
66
+ </script>
67
+
68
+ <Splitpanes class="!overflow-visible">
69
+ <Pane size={20}>
70
+ <div class="flex flex-col gap-2 w-full px-2 py-2">
71
+ {#if !loading}
72
+ {#if versions.length > 0}
73
+ <div class="flex gap-2 flex-col">
74
+ {#each versions ?? [] as version}
75
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
76
+ <div
77
+ class={classNames(
78
+ 'border flex gap-1 truncate justify-between flex-row w-full items-center p-2 rounded-md cursor-pointer hover:bg-surface-hover hover:text-primary',
79
+ selectedVersion?.id == version.id ? 'bg-surface-selected text-primary' : ''
80
+ )}
81
+ role="button"
82
+ tabindex="0"
83
+ on:click={() => {
84
+ selectedVersion = version
85
+ }}
86
+ >
87
+ <span class="text-xs truncate">
88
+ {#if emptyString(version.deployment_msg)}Version {version.id}{:else}{version.deployment_msg}{/if}
89
+ </span>
90
+ </div>
91
+ {/each}
92
+ </div>
93
+ {:else}
94
+ <div class="text-sm text-tertiary">No items</div>
95
+ {/if}
96
+ {:else}
97
+ <Skeleton layout={[[40], [40], [40], [40], [40]]} />
98
+ {/if}
99
+ </div>
100
+ </Pane>
101
+ <Pane size={80}>
102
+ <div class="h-full w-full overflow-auto pt-2">
103
+ {#if selectedVersion}
104
+ {#if selected}
105
+ <div class="px-2 flex flex-col gap-2">
106
+ <div class="flex justify-between">
107
+ <span class="flex flex-row text-sm p-1 text-tertiary">
108
+ {#if deploymentMsgUpdateMode}
109
+ <div class="flex w-full">
110
+ <input
111
+ type="text"
112
+ bind:value={deploymentMsgUpdate}
113
+ class="!w-auto grow"
114
+ on:click|stopPropagation={() => {}}
115
+ on:keydown|stopPropagation
116
+ on:keypress|stopPropagation={({ key }) => {
117
+ if (key === 'Enter') updateDeploymentMsg(selectedVersion?.id)
118
+ }}
119
+ />
120
+ <Button
121
+ size="xs"
122
+ color="blue"
123
+ buttonType="button"
124
+ btnClasses="!p-1 !w-[34px] !ml-1"
125
+ aria-label="Save Deployment Message"
126
+ on:click={() => {
127
+ updateDeploymentMsg(selectedVersion?.id)
128
+ }}
129
+ >
130
+ <ArrowRight size={14} />
131
+ </Button>
132
+ <Button
133
+ size="xs"
134
+ color="light"
135
+ buttonType="button"
136
+ btnClasses="!p-1 !w-[34px] !ml-1"
137
+ aria-label="Abort"
138
+ on:click={() => {
139
+ deploymentMsgUpdateMode = false
140
+ deploymentMsgUpdate = undefined
141
+ }}
142
+ >
143
+ <X size={14} />
144
+ </Button>
145
+ </div>
146
+ {:else}
147
+ {#if selectedVersion.deployment_msg}
148
+ {selectedVersion.deployment_msg}
149
+ {:else}
150
+ Deployed {displayDate(selected.edited_at)} by {selected.edited_by}
151
+ {/if}
152
+ <button
153
+ on:click={() => {
154
+ deploymentMsgUpdate = selectedVersion?.deployment_msg
155
+ deploymentMsgUpdateMode = true
156
+ }}
157
+ title="Update commit message"
158
+ class="flex items-center px-1 rounded-sm hover:text-primary text-secondary h-5"
159
+ aria-label="Update commit message"
160
+ >
161
+ <Pencil size={14} />
162
+ </button>
163
+ {/if}
164
+ </span>
165
+ <div class="flex p-1 gap-2">
166
+ <div class="flex">
167
+ <Button
168
+ size="sm"
169
+ color="dark"
170
+ on:click={() =>
171
+ window.open(
172
+ `/flows/add?template_id=${selectedVersion?.id}&template=${path}`,
173
+ '_blank'
174
+ )}
175
+ >
176
+ Restore as fork
177
+ </Button>
178
+ </div>
179
+ <div class="flex">
180
+ <Button size="sm" color="dark" on:click={() => restoreVersion(selected)}
181
+ >Redeploy with that version
182
+ </Button>
183
+ </div>
184
+ </div>
185
+ </div>
186
+ {#await import('../FlowViewer.svelte')}
187
+ <Loader2 class="animate-spin" />
188
+ {:then Module}
189
+ <Module.default flow={selected} />
190
+ {/await}
191
+ </div>
192
+ {:else}
193
+ <Skeleton layout={[[40]]} />
194
+ {/if}
195
+ {:else}
196
+ <div class="text-sm p-2 text-tertiary">Select a deployment version to see its details</div>
197
+ {/if}
198
+ </div>
199
+ </Pane>
200
+ </Splitpanes>
@@ -0,0 +1,19 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ path: string;
5
+ };
6
+ events: {
7
+ keydown: KeyboardEvent;
8
+ historyRestore: CustomEvent<any>;
9
+ } & {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {};
13
+ };
14
+ export type FlowHistoryInnerProps = typeof __propDef.props;
15
+ export type FlowHistoryInnerEvents = typeof __propDef.events;
16
+ export type FlowHistoryInnerSlots = typeof __propDef.slots;
17
+ export default class FlowHistoryInner extends SvelteComponent<FlowHistoryInnerProps, FlowHistoryInnerEvents, FlowHistoryInnerSlots> {
18
+ }
19
+ export {};
@@ -1,12 +1,14 @@
1
1
  <script>import {} from '../../gen';
2
2
  import ProgressBar from '../progressBar/ProgressBar.svelte';
3
3
  export let job = undefined;
4
+ export let currentSubJobProgress = undefined;
4
5
  let error = undefined;
5
6
  let index = 0;
6
7
  let subIndex = undefined;
7
8
  let subLength = undefined;
8
9
  let length = 1;
9
10
  let nextInProgress = false;
11
+ let subIndexIsPercent = false;
10
12
  $: if (job)
11
13
  updateJobProgress(job);
12
14
  function updateJobProgress(job) {
@@ -18,7 +20,7 @@ function updateJobProgress(job) {
18
20
  let subStepLength = undefined;
19
21
  let newError = undefined;
20
22
  let newNextInProgress = false;
21
- let maxDone = job?.flow_status?.step ?? 0;
23
+ let maxDone = Math.max(job?.flow_status?.step ?? 0, 0);
22
24
  if (modules.length > maxDone) {
23
25
  const nextModule = modules[maxDone];
24
26
  if (nextModule.type === 'InProgress') {
@@ -32,6 +34,7 @@ function updateJobProgress(job) {
32
34
  maxDone = maxDone + 1;
33
35
  }
34
36
  }
37
+ subIndexIsPercent = false;
35
38
  // Loop is still iterating
36
39
  if (module?.iterator) {
37
40
  const stepIndex = module.iterator.index || 0;
@@ -45,6 +48,17 @@ function updateJobProgress(job) {
45
48
  subStepIndex = module.branchall.branch;
46
49
  subStepLength = module.branchall.len;
47
50
  }
51
+ else if (module?.progress) {
52
+ const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
53
+ subStepIndex = clamp(module?.progress, subIndex ?? 0, 99);
54
+ // Jitter protection >^^^^^^^^
55
+ subStepLength = 100;
56
+ subIndexIsPercent = true;
57
+ currentSubJobProgress = subStepIndex;
58
+ }
59
+ else {
60
+ currentSubJobProgress = undefined;
61
+ }
48
62
  error = newError;
49
63
  subLength = subStepLength ? Math.max(subStepLength, 1) : undefined;
50
64
  subIndex = subStepIndex;
@@ -71,5 +85,6 @@ export function reset() {
71
85
  {subLength}
72
86
  {subIndex}
73
87
  {error}
88
+ bind:subIndexIsPercent
74
89
  class={$$props.class}
75
90
  />
@@ -4,6 +4,7 @@ declare const __propDef: {
4
4
  props: {
5
5
  [x: string]: any;
6
6
  job?: Job | undefined;
7
+ currentSubJobProgress?: number | undefined;
7
8
  reset?: (() => void) | undefined;
8
9
  };
9
10
  events: {
@@ -11,9 +11,11 @@ import FlowModuleSuspend from './FlowModuleSuspend.svelte';
11
11
  import FlowModuleMock from './FlowModuleMock.svelte';
12
12
  import FlowModuleDeleteAfterUse from './FlowModuleDeleteAfterUse.svelte';
13
13
  import { enterpriseLicense } from '../../../stores';
14
+ import FlowModuleSkip from './FlowModuleSkip.svelte';
14
15
  export let noEditor;
15
16
  export let flowModule;
16
17
  export let previousModule;
18
+ export let parentModule;
17
19
  let value = flowModule.value;
18
20
  $: value = flowModule.value;
19
21
  let selected = 'early-stop';
@@ -71,6 +73,7 @@ let selected = 'early-stop';
71
73
  <Pane size={40}>
72
74
  <Tabs bind:selected>
73
75
  <Tab value="early-stop">Early Stop/Break</Tab>
76
+ <Tab value="skip">Skip</Tab>
74
77
  <Tab value="suspend">Suspend/Approval/Prompt</Tab>
75
78
  <Tab value="sleep">Sleep</Tab>
76
79
  <Tab value="mock">Mock</Tab>
@@ -82,6 +85,11 @@ let selected = 'early-stop';
82
85
  <FlowModuleEarlyStop bind:flowModule />
83
86
  </div>
84
87
  </TabContent>
88
+ <TabContent value="skip" class="flex flex-col flex-1 h-full">
89
+ <div class="p-4 overflow-y-auto">
90
+ <FlowModuleSkip bind:flowModule {parentModule} {previousModule} />
91
+ </div>
92
+ </TabContent>
85
93
  <TabContent value="suspend" class="flex flex-col flex-1 h-full">
86
94
  <div class="p-4 overflow-y-auto">
87
95
  <FlowModuleSuspend previousModuleId={previousModule?.id} bind:flowModule />
@@ -5,6 +5,7 @@ declare const __propDef: {
5
5
  noEditor: boolean;
6
6
  flowModule: FlowModule;
7
7
  previousModule: FlowModule | undefined;
8
+ parentModule: FlowModule | undefined;
8
9
  };
9
10
  events: {
10
11
  [evt: string]: CustomEvent<any>;
@@ -11,9 +11,11 @@ import FlowModuleSuspend from './FlowModuleSuspend.svelte';
11
11
  import SplitPanesWrapper from '../../splitPanes/SplitPanesWrapper.svelte';
12
12
  import FlowModuleMock from './FlowModuleMock.svelte';
13
13
  import { enterpriseLicense } from '../../../stores';
14
+ import FlowModuleSkip from './FlowModuleSkip.svelte';
14
15
  // import FlowRetries from './FlowRetries.svelte'
15
16
  export let flowModule;
16
17
  export let previousModule;
18
+ export let parentModule;
17
19
  export let noEditor;
18
20
  export let enableAi = false;
19
21
  let value = flowModule.value;
@@ -83,6 +85,7 @@ let selected = 'early-stop';
83
85
  <Pane size={40}>
84
86
  <Tabs bind:selected>
85
87
  <Tab value="early-stop">Early Stop/Break</Tab>
88
+ <Tab value="skip">Skip</Tab>
86
89
  <Tab value="suspend">Suspend/Approval/Prompt</Tab>
87
90
  <Tab value="sleep">Sleep</Tab>
88
91
  <Tab value="mock">Mock</Tab>
@@ -94,6 +97,11 @@ let selected = 'early-stop';
94
97
  <FlowModuleEarlyStop bind:flowModule />
95
98
  </div>
96
99
  </TabContent>
100
+ <TabContent value="skip" class="flex flex-col flex-1 h-full">
101
+ <div class="p-4 overflow-y-auto">
102
+ <FlowModuleSkip bind:flowModule {parentModule} {previousModule} />
103
+ </div>
104
+ </TabContent>
97
105
  <TabContent value="suspend" class="flex flex-col flex-1 h-full">
98
106
  <div class="p-4 overflow-y-auto">
99
107
  <FlowModuleSuspend previousModuleId={previousModule?.id} bind:flowModule />
@@ -4,6 +4,7 @@ declare const __propDef: {
4
4
  props: {
5
5
  flowModule: FlowModule;
6
6
  previousModule: FlowModule | undefined;
7
+ parentModule: FlowModule | undefined;
7
8
  noEditor: boolean;
8
9
  enableAi?: boolean | undefined;
9
10
  };
@@ -94,7 +94,7 @@ setContext('PropPickerWrapper', {
94
94
  </Alert>
95
95
  {/if}
96
96
  {/if}
97
- {#each steps as [args, filter, m] (m.id)}
97
+ {#each steps as [args, filter, m], index (m.id + index)}
98
98
  {#if filter.length > 0}
99
99
  <div class="relative h-full border-t p-4">
100
100
  <h2 class="sticky w-full top-0 z-10 inline-flex items-center py-2">
@@ -6,8 +6,10 @@ import FlowFailureModule from './FlowFailureModule.svelte';
6
6
  import FlowConstants from './FlowConstants.svelte';
7
7
  import { initFlowStepWarnings } from '../utils';
8
8
  import { dfs } from '../dfs';
9
+ import FlowPreprocessorModule from './FlowPreprocessorModule.svelte';
9
10
  export let noEditor = false;
10
11
  export let enableAi = false;
12
+ export let disabledFlowInputs = false;
11
13
  const { selectedId, flowStore, flowStateStore, flowInputsStore } = getContext('FlowEditorContext');
12
14
  function checkDup(modules) {
13
15
  let seenModules = [];
@@ -40,13 +42,15 @@ onMount(() => {
40
42
  {#if $selectedId?.startsWith('settings')}
41
43
  <FlowSettings {noEditor} />
42
44
  {:else if $selectedId === 'Input'}
43
- <FlowInput {noEditor} />
45
+ <FlowInput {noEditor} disabled={disabledFlowInputs} />
44
46
  {:else if $selectedId === 'Result'}
45
47
  <p class="p-4 text-secondary">Nothing to show about the result node. Happy flow building!</p>
46
48
  {:else if $selectedId === 'constants'}
47
49
  <FlowConstants {noEditor} />
48
50
  {:else if $selectedId === 'failure'}
49
51
  <FlowFailureModule {noEditor} />
52
+ {:else if $selectedId === 'preprocessor'}
53
+ <FlowPreprocessorModule {noEditor} />
50
54
  {:else}
51
55
  {@const dup = checkDup($flowStore.value.modules)}
52
56
  {#if dup}
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  noEditor?: boolean | undefined;
5
5
  enableAi?: boolean | undefined;
6
+ disabledFlowInputs?: boolean | undefined;
6
7
  };
7
8
  events: {
8
9
  [evt: string]: CustomEvent<any>;