windmill-components 1.46.3 → 1.55.0

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 (611) hide show
  1. package/common.d.ts +6 -5
  2. package/components/ApiConnectForm.svelte +56 -0
  3. package/components/ApiConnectForm.svelte.d.ts +19 -0
  4. package/components/AppConnect.svelte +243 -180
  5. package/components/AppConnect.svelte.d.ts +4 -3
  6. package/components/ArgInfo.svelte +8 -4
  7. package/components/ArgInfo.svelte.d.ts +3 -3
  8. package/components/ArgInput.svelte +87 -27
  9. package/components/ArgInput.svelte.d.ts +11 -3
  10. package/components/Badge.svelte.d.ts +3 -3
  11. package/components/Button.svelte +1 -1
  12. package/components/Button.svelte.d.ts +3 -3
  13. package/components/CenteredModal.svelte +20 -13
  14. package/components/CenteredModal.svelte.d.ts +3 -3
  15. package/components/CenteredPage.svelte +1 -1
  16. package/components/CenteredPage.svelte.d.ts +6 -2
  17. package/components/ChevronButton.svelte.d.ts +3 -3
  18. package/components/CollapseLink.svelte.d.ts +3 -3
  19. package/components/CronInput.svelte +2 -2
  20. package/components/CronInput.svelte.d.ts +3 -3
  21. package/components/DisplayResult.svelte +39 -2
  22. package/components/DisplayResult.svelte.d.ts +3 -3
  23. package/components/Dropdown.svelte +73 -94
  24. package/components/Dropdown.svelte.d.ts +4 -6
  25. package/components/Editor.svelte +19 -7
  26. package/components/Editor.svelte.d.ts +4 -3
  27. package/components/EditorBar.svelte +92 -90
  28. package/components/EditorBar.svelte.d.ts +4 -3
  29. package/components/FieldHeader.svelte +4 -3
  30. package/components/FieldHeader.svelte.d.ts +3 -3
  31. package/components/FlowBuilder.svelte +86 -57
  32. package/components/FlowBuilder.svelte.d.ts +4 -3
  33. package/components/FlowGraphViewer.svelte +178 -0
  34. package/components/FlowGraphViewer.svelte.d.ts +24 -0
  35. package/components/FlowJobResult.svelte +6 -1
  36. package/components/FlowJobResult.svelte.d.ts +5 -3
  37. package/components/FlowMetadata.svelte +4 -2
  38. package/components/FlowMetadata.svelte.d.ts +3 -3
  39. package/components/FlowPreviewContent.svelte +58 -81
  40. package/components/FlowPreviewContent.svelte.d.ts +6 -3
  41. package/components/FlowStatusViewer.svelte +284 -109
  42. package/components/FlowStatusViewer.svelte.d.ts +6 -3
  43. package/components/FlowViewer.svelte +5 -80
  44. package/components/FlowViewer.svelte.d.ts +4 -3
  45. package/components/GroupModal.svelte.d.ts +3 -3
  46. package/components/HighlightCode.svelte +1 -1
  47. package/components/HighlightCode.svelte.d.ts +4 -3
  48. package/components/IconedPath.svelte +16 -6
  49. package/components/IconedPath.svelte.d.ts +5 -3
  50. package/components/IconedResourceType.svelte +6 -61
  51. package/components/IconedResourceType.svelte.d.ts +3 -3
  52. package/components/InputTransformForm.svelte +139 -89
  53. package/components/InputTransformForm.svelte.d.ts +10 -5
  54. package/components/InputTransformsViewer.svelte.d.ts +3 -3
  55. package/components/InviteGlobalUser.svelte +2 -2
  56. package/components/InviteGlobalUser.svelte.d.ts +4 -4
  57. package/components/InviteUser.svelte +20 -6
  58. package/components/InviteUser.svelte.d.ts +4 -4
  59. package/components/ItemPicker.svelte +103 -44
  60. package/components/ItemPicker.svelte.d.ts +8 -5
  61. package/components/JobArgs.svelte +5 -5
  62. package/components/JobArgs.svelte.d.ts +3 -3
  63. package/components/JobStatus.svelte +19 -13
  64. package/components/JobStatus.svelte.d.ts +3 -3
  65. package/components/LogViewer.svelte +28 -5
  66. package/components/LogViewer.svelte.d.ts +4 -3
  67. package/components/Modal.svelte.d.ts +3 -3
  68. package/components/ModulePreview.svelte +8 -0
  69. package/components/ModulePreview.svelte.d.ts +3 -3
  70. package/components/ModuleStatus.svelte +38 -0
  71. package/components/ModuleStatus.svelte.d.ts +18 -0
  72. package/components/ObjectResourceInput.svelte +19 -47
  73. package/components/ObjectResourceInput.svelte.d.ts +3 -3
  74. package/components/ObjectTypeNarrowing.svelte.d.ts +3 -3
  75. package/components/PageHeader.svelte +2 -2
  76. package/components/PageHeader.svelte.d.ts +3 -3
  77. package/components/Password.svelte +2 -2
  78. package/components/Password.svelte.d.ts +4 -4
  79. package/components/Path.svelte +6 -3
  80. package/components/Path.svelte.d.ts +5 -4
  81. package/components/Popover.svelte +7 -1
  82. package/components/Popover.svelte.d.ts +6 -4
  83. package/components/RadioButton.svelte.d.ts +3 -3
  84. package/components/Required.svelte.d.ts +3 -3
  85. package/components/ResourceEditor.svelte +107 -169
  86. package/components/ResourceEditor.svelte.d.ts +3 -5
  87. package/components/ResourcePicker.svelte +41 -28
  88. package/components/ResourcePicker.svelte.d.ts +3 -3
  89. package/components/ResourceTypePicker.svelte.d.ts +3 -3
  90. package/components/RunChart.svelte.d.ts +3 -3
  91. package/components/RunForm.svelte.d.ts +3 -3
  92. package/components/SchemaEditor.svelte +57 -24
  93. package/components/SchemaEditor.svelte.d.ts +3 -3
  94. package/components/SchemaEditorProperty.svelte.d.ts +3 -3
  95. package/components/SchemaForm.svelte +98 -33
  96. package/components/SchemaForm.svelte.d.ts +9 -4
  97. package/components/SchemaModal.svelte +11 -10
  98. package/components/SchemaModal.svelte.d.ts +4 -4
  99. package/components/SchemaViewer.svelte.d.ts +3 -3
  100. package/components/ScriptBuilder.svelte +202 -189
  101. package/components/ScriptBuilder.svelte.d.ts +4 -4
  102. package/components/ScriptEditor.svelte +71 -69
  103. package/components/ScriptEditor.svelte.d.ts +5 -3
  104. package/components/ScriptPicker.svelte +28 -38
  105. package/components/ScriptPicker.svelte.d.ts +5 -4
  106. package/components/ScriptSchema.svelte +12 -31
  107. package/components/ScriptSchema.svelte.d.ts +3 -4
  108. package/components/SearchItems.svelte +29 -0
  109. package/components/SearchItems.svelte.d.ts +23 -0
  110. package/components/ShareModal.svelte.d.ts +3 -3
  111. package/components/SharedBadge.svelte +4 -3
  112. package/components/SharedBadge.svelte.d.ts +3 -3
  113. package/components/SimpleEditor.svelte +36 -11
  114. package/components/SimpleEditor.svelte.d.ts +5 -4
  115. package/components/Star.svelte +42 -0
  116. package/components/Star.svelte.d.ts +19 -0
  117. package/components/StringTypeNarrowing.svelte.d.ts +3 -3
  118. package/components/SuperadminSettings.svelte +26 -52
  119. package/components/SuperadminSettings.svelte.d.ts +3 -3
  120. package/components/TableCustom.svelte +1 -1
  121. package/components/TableCustom.svelte.d.ts +3 -3
  122. package/components/TableSimple.svelte +1 -1
  123. package/components/TableSimple.svelte.d.ts +3 -3
  124. package/components/TestJobLoader.svelte +61 -32
  125. package/components/TestJobLoader.svelte.d.ts +9 -3
  126. package/components/Toggle.svelte.d.ts +3 -3
  127. package/components/ToggleHubWorkspace.svelte +16 -0
  128. package/components/ToggleHubWorkspace.svelte.d.ts +16 -0
  129. package/components/Tooltip.svelte.d.ts +4 -4
  130. package/components/UserSettings.svelte.d.ts +3 -3
  131. package/components/VariableEditor.svelte +89 -37
  132. package/components/VariableEditor.svelte.d.ts +5 -3
  133. package/components/apps/CreateApp.svelte +68 -0
  134. package/components/apps/CreateApp.svelte.d.ts +14 -0
  135. package/components/apps/components/DisplayComponent.svelte +16 -0
  136. package/components/apps/components/DisplayComponent.svelte.d.ts +20 -0
  137. package/components/apps/components/buttons/AppButton.svelte +49 -0
  138. package/components/apps/components/buttons/AppButton.svelte.d.ts +25 -0
  139. package/components/apps/components/dataDisplay/AppBarChart.svelte +42 -0
  140. package/components/apps/components/dataDisplay/AppBarChart.svelte.d.ts +21 -0
  141. package/components/apps/components/dataDisplay/AppPieChart.svelte +43 -0
  142. package/components/apps/components/dataDisplay/AppPieChart.svelte.d.ts +21 -0
  143. package/components/apps/components/dataDisplay/AppTable.svelte +132 -0
  144. package/components/apps/components/dataDisplay/AppTable.svelte.d.ts +23 -0
  145. package/components/apps/components/dataDisplay/AppText.svelte +22 -0
  146. package/components/apps/components/dataDisplay/AppText.svelte.d.ts +22 -0
  147. package/components/apps/components/dataDisplay/app.md +49 -0
  148. package/components/apps/components/form/AppForm.svelte +50 -0
  149. package/components/apps/components/form/AppForm.svelte.d.ts +25 -0
  150. package/components/apps/components/helpers/AlignWrapper.svelte +30 -0
  151. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +20 -0
  152. package/components/apps/components/helpers/DebouncedInput.svelte +24 -0
  153. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +20 -0
  154. package/components/apps/components/helpers/InputValue.svelte +46 -0
  155. package/components/apps/components/helpers/InputValue.svelte.d.ts +18 -0
  156. package/components/apps/components/helpers/NonRunnableComponent.svelte +20 -0
  157. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +21 -0
  158. package/components/apps/components/helpers/RunnableComponent.svelte +188 -0
  159. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +27 -0
  160. package/components/apps/components/helpers/RunnableWrapper.svelte +32 -0
  161. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +26 -0
  162. package/components/apps/components/numberInputs/AppNumberInput.svelte +36 -0
  163. package/components/apps/components/numberInputs/AppNumberInput.svelte.d.ts +20 -0
  164. package/components/apps/components/selectInputs/AppCheckbox.svelte +28 -0
  165. package/components/apps/components/selectInputs/AppCheckbox.svelte.d.ts +22 -0
  166. package/components/apps/components/textInputs/AppTextInput.svelte +21 -0
  167. package/components/apps/components/textInputs/AppTextInput.svelte.d.ts +20 -0
  168. package/components/apps/editor/AppEditor.svelte +116 -0
  169. package/components/apps/editor/AppEditor.svelte.d.ts +19 -0
  170. package/components/apps/editor/AppEditorHeader.svelte +75 -0
  171. package/components/apps/editor/AppEditorHeader.svelte.d.ts +19 -0
  172. package/components/apps/editor/AppPreview.svelte +42 -0
  173. package/components/apps/editor/AppPreview.svelte.d.ts +17 -0
  174. package/components/apps/editor/ComponentEditor.svelte +85 -0
  175. package/components/apps/editor/ComponentEditor.svelte.d.ts +20 -0
  176. package/components/apps/editor/ComponentHeader.svelte +28 -0
  177. package/components/apps/editor/ComponentHeader.svelte.d.ts +20 -0
  178. package/components/apps/editor/GridEditor.svelte +94 -0
  179. package/components/apps/editor/GridEditor.svelte.d.ts +14 -0
  180. package/components/apps/editor/RecomputeAllComponents.svelte +28 -0
  181. package/components/apps/editor/RecomputeAllComponents.svelte.d.ts +14 -0
  182. package/components/apps/editor/componentsPanel/ComponentList.svelte +160 -0
  183. package/components/apps/editor/componentsPanel/ComponentList.svelte.d.ts +14 -0
  184. package/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
  185. package/components/apps/editor/componentsPanel/componentDefaultProps.js +5 -0
  186. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +6 -0
  187. package/components/apps/editor/componentsPanel/componentStaticValues.js +8 -0
  188. package/components/apps/editor/componentsPanel/data.d.ts +3 -0
  189. package/components/apps/editor/componentsPanel/data.js +273 -0
  190. package/components/apps/editor/componentsPanel/store.d.ts +9 -0
  191. package/components/apps/editor/componentsPanel/store.js +16 -0
  192. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +22 -0
  193. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte.d.ts +19 -0
  194. package/components/apps/editor/contextPanel/ContextPanel.svelte +192 -0
  195. package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +16 -0
  196. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte +29 -0
  197. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte.d.ts +16 -0
  198. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +67 -0
  199. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +55 -0
  200. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +221 -0
  201. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +18 -0
  202. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte +70 -0
  203. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte.d.ts +17 -0
  204. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +11 -0
  205. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +18 -0
  206. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +67 -0
  207. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +19 -0
  208. package/components/apps/editor/settingsPanel/PickFlow.svelte +38 -0
  209. package/components/apps/editor/settingsPanel/PickFlow.svelte.d.ts +16 -0
  210. package/components/apps/editor/settingsPanel/PickInlineScript.svelte +38 -0
  211. package/components/apps/editor/settingsPanel/PickInlineScript.svelte.d.ts +20 -0
  212. package/components/apps/editor/settingsPanel/Recompute.svelte +46 -0
  213. package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +17 -0
  214. package/components/apps/editor/settingsPanel/SectionPanel.svelte +70 -0
  215. package/components/apps/editor/settingsPanel/SectionPanel.svelte.d.ts +19 -0
  216. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte +46 -0
  217. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte.d.ts +18 -0
  218. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +17 -0
  219. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +19 -0
  220. package/components/apps/editor/settingsPanel/TableActionLabel.svelte +10 -0
  221. package/components/apps/editor/settingsPanel/TableActionLabel.svelte.d.ts +17 -0
  222. package/components/apps/editor/settingsPanel/TableActions.svelte +111 -0
  223. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +19 -0
  224. package/components/apps/editor/settingsPanel/UserInputEditor.svelte +2 -0
  225. package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +14 -0
  226. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +12 -0
  227. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +20 -0
  228. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +53 -0
  229. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +21 -0
  230. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +98 -0
  231. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +18 -0
  232. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +81 -0
  233. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte.d.ts +20 -0
  234. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +81 -0
  235. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte.d.ts +20 -0
  236. package/components/apps/gridUtils.d.ts +11 -0
  237. package/components/apps/gridUtils.js +24 -0
  238. package/components/apps/inputType.d.ts +62 -0
  239. package/components/apps/inputType.js +1 -0
  240. package/components/apps/rx.d.ts +27 -0
  241. package/components/apps/rx.js +99 -0
  242. package/components/apps/types.d.ts +86 -0
  243. package/components/apps/types.js +1 -0
  244. package/components/apps/utils.d.ts +13 -0
  245. package/components/apps/utils.js +132 -0
  246. package/components/common/actionRow/ActionRow.svelte.d.ts +3 -3
  247. package/components/common/alert/Alert.svelte +30 -7
  248. package/components/common/alert/Alert.svelte.d.ts +5 -3
  249. package/components/common/alert/model.d.ts +1 -1
  250. package/components/common/badge/Badge.svelte +3 -7
  251. package/components/common/badge/Badge.svelte.d.ts +6 -4
  252. package/components/common/badge/model.d.ts +2 -2
  253. package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +3 -3
  254. package/components/common/button/Button.svelte +24 -6
  255. package/components/common/button/Button.svelte.d.ts +6 -4
  256. package/components/common/button/ButtonPopup.svelte +3 -1
  257. package/components/common/button/ButtonPopup.svelte.d.ts +5 -4
  258. package/components/common/button/ButtonPopupItem.svelte.d.ts +3 -3
  259. package/components/common/button/model.d.ts +2 -1
  260. package/components/common/button/model.js +2 -1
  261. package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +3 -3
  262. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +4 -4
  263. package/components/common/drawer/Drawer.svelte +5 -1
  264. package/components/common/drawer/Drawer.svelte.d.ts +3 -3
  265. package/components/common/drawer/DrawerContent.svelte +28 -19
  266. package/components/common/drawer/DrawerContent.svelte.d.ts +6 -6
  267. package/components/common/kbd/Kbd.svelte.d.ts +2 -2
  268. package/components/common/languageIcons/LanguageIcon.svelte +8 -4
  269. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +4 -4
  270. package/components/common/menu/Menu.svelte +7 -6
  271. package/components/common/menu/Menu.svelte.d.ts +7 -6
  272. package/components/common/menu/MenuItem.svelte +1 -0
  273. package/components/common/menu/MenuItem.svelte.d.ts +6 -2
  274. package/components/common/popup/Popup.svelte +0 -11
  275. package/components/common/popup/Popup.svelte.d.ts +3 -3
  276. package/components/common/skeleton/Skeleton.svelte.d.ts +3 -3
  277. package/components/common/skeleton/SkeletonElement.svelte.d.ts +3 -3
  278. package/components/common/skeleton/model.d.ts +4 -4
  279. package/components/common/table/AppRow.svelte +77 -0
  280. package/components/common/table/AppRow.svelte.d.ts +23 -0
  281. package/components/common/table/FlowRow.svelte +141 -0
  282. package/components/common/table/FlowRow.svelte.d.ts +25 -0
  283. package/components/common/table/LanguageBadge.svelte +32 -0
  284. package/components/common/table/LanguageBadge.svelte.d.ts +24 -0
  285. package/components/common/table/Row.svelte +58 -0
  286. package/components/common/table/Row.svelte.d.ts +28 -0
  287. package/components/common/table/RowIcon.svelte +28 -0
  288. package/components/common/table/RowIcon.svelte.d.ts +16 -0
  289. package/components/common/table/ScriptRow.svelte +155 -0
  290. package/components/common/table/ScriptRow.svelte.d.ts +25 -0
  291. package/components/common/table/Table.svelte +9 -0
  292. package/components/common/table/Table.svelte.d.ts +27 -0
  293. package/components/common/tabs/Tab.svelte +15 -4
  294. package/components/common/tabs/Tab.svelte.d.ts +5 -3
  295. package/components/common/tabs/TabContent.svelte.d.ts +3 -3
  296. package/components/common/tabs/Tabs.svelte +5 -1
  297. package/components/common/tabs/Tabs.svelte.d.ts +4 -4
  298. package/components/common/toggleButton/ToggleButton.svelte +12 -9
  299. package/components/common/toggleButton/ToggleButton.svelte.d.ts +6 -4
  300. package/components/common/toggleButton/ToggleButtonGroup.svelte +12 -19
  301. package/components/common/toggleButton/ToggleButtonGroup.svelte.d.ts +10 -8
  302. package/components/flows/CreateActionsFlow.svelte +39 -0
  303. package/components/flows/CreateActionsFlow.svelte.d.ts +14 -0
  304. package/components/flows/FlowEditor.svelte +22 -5
  305. package/components/flows/FlowEditor.svelte.d.ts +4 -3
  306. package/components/flows/FlowProgressBar.svelte.d.ts +3 -3
  307. package/components/flows/common/FlowCard.svelte.d.ts +3 -3
  308. package/components/flows/common/FlowCardHeader.svelte +10 -9
  309. package/components/flows/common/FlowCardHeader.svelte.d.ts +3 -3
  310. package/components/flows/content/BranchPredicateEditor.svelte +30 -0
  311. package/components/flows/content/BranchPredicateEditor.svelte.d.ts +23 -0
  312. package/components/flows/content/CapturePayload.svelte +12 -8
  313. package/components/flows/content/CapturePayload.svelte.d.ts +3 -3
  314. package/components/flows/content/DynamicInputHelpBox.svelte +2 -32
  315. package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +4 -6
  316. package/components/flows/content/FlowBranchAllWrapper.svelte +2 -2
  317. package/components/flows/content/FlowBranchAllWrapper.svelte.d.ts +3 -3
  318. package/components/flows/content/FlowBranchOneWrapper.svelte +4 -35
  319. package/components/flows/content/FlowBranchOneWrapper.svelte.d.ts +3 -3
  320. package/components/flows/content/FlowBranchesAllWrapper.svelte +91 -0
  321. package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +18 -0
  322. package/components/flows/content/FlowBranchesOneWrapper.svelte +88 -0
  323. package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +18 -0
  324. package/components/flows/content/FlowEditorPanel.svelte +2 -0
  325. package/components/flows/content/FlowEditorPanel.svelte.d.ts +3 -3
  326. package/components/flows/content/FlowFailureModule.svelte.d.ts +4 -4
  327. package/components/flows/content/FlowInput.svelte +10 -14
  328. package/components/flows/content/FlowInput.svelte.d.ts +4 -4
  329. package/components/flows/content/FlowInputs.svelte +121 -140
  330. package/components/flows/content/FlowInputs.svelte.d.ts +4 -7
  331. package/components/flows/content/FlowInputsFlow.svelte +101 -0
  332. package/components/flows/content/FlowInputsFlow.svelte.d.ts +20 -0
  333. package/components/flows/content/FlowLoop.svelte +13 -5
  334. package/components/flows/content/FlowLoop.svelte.d.ts +3 -3
  335. package/components/flows/content/FlowModuleComponent.svelte +82 -67
  336. package/components/flows/content/FlowModuleComponent.svelte.d.ts +3 -3
  337. package/components/flows/content/FlowModuleEarlyStop.svelte +7 -5
  338. package/components/flows/content/FlowModuleEarlyStop.svelte.d.ts +3 -3
  339. package/components/flows/content/FlowModuleHeader.svelte +23 -19
  340. package/components/flows/content/FlowModuleHeader.svelte.d.ts +4 -3
  341. package/components/flows/content/FlowModuleScript.svelte.d.ts +3 -3
  342. package/components/flows/content/FlowModuleSleep.svelte +69 -0
  343. package/components/flows/content/FlowModuleSleep.svelte.d.ts +18 -0
  344. package/components/flows/content/FlowModuleSuspend.svelte +5 -57
  345. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +3 -4
  346. package/components/flows/content/FlowModuleWrapper.svelte +59 -57
  347. package/components/flows/content/FlowModuleWrapper.svelte.d.ts +3 -3
  348. package/components/flows/content/FlowPathViewer.svelte +20 -0
  349. package/components/flows/content/FlowPathViewer.svelte.d.ts +17 -0
  350. package/components/flows/content/FlowRetries.svelte.d.ts +3 -3
  351. package/components/flows/content/FlowSchedules.svelte.d.ts +4 -4
  352. package/components/flows/content/FlowSettings.svelte +85 -94
  353. package/components/flows/content/FlowSettings.svelte.d.ts +3 -3
  354. package/components/flows/content/RemoveStepConfirmationModal.svelte.d.ts +3 -3
  355. package/components/flows/flowState.d.ts +2 -2
  356. package/components/flows/flowState.js +2 -2
  357. package/components/flows/flowStateUtils.d.ts +8 -3
  358. package/components/flows/flowStateUtils.js +42 -10
  359. package/components/flows/flowStore.d.ts +1 -1
  360. package/components/flows/flowStore.js +1 -1
  361. package/components/flows/header/FlowImportExportMenu.svelte +9 -23
  362. package/components/flows/header/FlowImportExportMenu.svelte.d.ts +4 -4
  363. package/components/flows/header/FlowPreviewButtons.svelte +24 -16
  364. package/components/flows/header/FlowPreviewButtons.svelte.d.ts +4 -4
  365. package/components/flows/map/FlowBranchAllMap.svelte +47 -37
  366. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +3 -3
  367. package/components/flows/map/FlowBranchOneMap.svelte +50 -42
  368. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +3 -3
  369. package/components/flows/map/FlowErrorHandlerItem.svelte +9 -7
  370. package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +4 -4
  371. package/components/flows/map/FlowInputsItem.svelte +3 -2
  372. package/components/flows/map/FlowInputsItem.svelte.d.ts +4 -4
  373. package/components/flows/map/FlowModuleSchemaItem.svelte +54 -40
  374. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +5 -5
  375. package/components/flows/map/FlowModuleSchemaMap.svelte +59 -95
  376. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +4 -5
  377. package/components/flows/map/FlowSettingsItem.svelte +8 -7
  378. package/components/flows/map/FlowSettingsItem.svelte.d.ts +4 -4
  379. package/components/flows/map/InsertModuleButton.svelte +78 -8
  380. package/components/flows/map/InsertModuleButton.svelte.d.ts +5 -5
  381. package/components/flows/map/MapItem.svelte +36 -16
  382. package/components/flows/map/MapItem.svelte.d.ts +4 -6
  383. package/components/flows/pickers/FlowScriptPicker.svelte +11 -4
  384. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +8 -6
  385. package/components/flows/pickers/PickHubFlow.svelte +72 -0
  386. package/components/flows/pickers/PickHubFlow.svelte.d.ts +20 -0
  387. package/components/flows/pickers/PickHubScript.svelte +83 -29
  388. package/components/flows/pickers/PickHubScript.svelte.d.ts +8 -7
  389. package/components/flows/pickers/PickScript.svelte +16 -9
  390. package/components/flows/pickers/PickScript.svelte.d.ts +3 -4
  391. package/components/flows/pickers/WorkspaceScriptPicker.svelte +113 -0
  392. package/components/flows/pickers/WorkspaceScriptPicker.svelte.d.ts +23 -0
  393. package/components/flows/pickers/model.d.ts +5 -3
  394. package/components/flows/previousResults.d.ts +3 -2
  395. package/components/flows/previousResults.js +7 -6
  396. package/components/flows/propPicker/PropPickerWrapper.svelte +11 -3
  397. package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +7 -7
  398. package/components/flows/scheduleUtils.d.ts +1 -1
  399. package/components/flows/scheduleUtils.js +1 -1
  400. package/components/flows/types.d.ts +1 -1
  401. package/components/flows/utils.d.ts +1 -2
  402. package/components/flows/utils.js +10 -15
  403. package/components/graph/FlowGraph.svelte +163 -58
  404. package/components/graph/FlowGraph.svelte.d.ts +7 -4
  405. package/components/graph/model.d.ts +18 -6
  406. package/components/home/ItemsList.svelte +265 -0
  407. package/components/home/ItemsList.svelte.d.ts +16 -0
  408. package/components/home/ListFilters.svelte +37 -0
  409. package/components/home/ListFilters.svelte.d.ts +18 -0
  410. package/components/home/NoItemFound.svelte +6 -0
  411. package/components/home/NoItemFound.svelte.d.ts +23 -0
  412. package/components/icons/AirtableIcon.svelte.d.ts +3 -3
  413. package/components/icons/DatadogIcon.svelte +48 -0
  414. package/components/icons/DatadogIcon.svelte.d.ts +17 -0
  415. package/components/icons/DbIcon.svelte.d.ts +3 -3
  416. package/components/icons/DiscordIcon.svelte.d.ts +3 -3
  417. package/components/icons/FunkwhaleIcon.svelte +90 -0
  418. package/components/icons/FunkwhaleIcon.svelte.d.ts +17 -0
  419. package/components/icons/GCloudIcon.svelte.d.ts +3 -3
  420. package/components/icons/GItlabIcon.svelte.d.ts +3 -3
  421. package/components/icons/GSheetsIcon.svelte.d.ts +3 -3
  422. package/components/icons/GcalIcon.svelte.d.ts +3 -3
  423. package/components/icons/GdocsIcon.svelte +9 -0
  424. package/components/icons/GdocsIcon.svelte.d.ts +17 -0
  425. package/components/icons/GdriveIcon.svelte.d.ts +3 -3
  426. package/components/icons/GithubIcon.svelte.d.ts +3 -3
  427. package/components/icons/GmailIcon.svelte.d.ts +3 -3
  428. package/components/icons/HatIcon.svelte.d.ts +3 -3
  429. package/components/icons/HttpIcon.svelte.d.ts +3 -3
  430. package/components/icons/HubspotIcon.svelte +9 -0
  431. package/components/icons/HubspotIcon.svelte.d.ts +17 -0
  432. package/components/icons/LinkedinIcon.svelte +9 -0
  433. package/components/icons/LinkedinIcon.svelte.d.ts +17 -0
  434. package/components/icons/Mail.svelte +9 -53
  435. package/components/icons/Mail.svelte.d.ts +3 -3
  436. package/components/icons/MailchimpIcon.svelte +18 -0
  437. package/components/icons/MailchimpIcon.svelte.d.ts +17 -0
  438. package/components/icons/MastodonIcon.svelte.d.ts +3 -3
  439. package/components/icons/MatrixIcon.svelte.d.ts +3 -3
  440. package/components/icons/Mysql.svelte +8 -8
  441. package/components/icons/Mysql.svelte.d.ts +3 -3
  442. package/components/icons/NextcloudIcon.svelte +9 -0
  443. package/components/icons/NextcloudIcon.svelte.d.ts +17 -0
  444. package/components/icons/PostgresIcon.svelte.d.ts +3 -3
  445. package/components/icons/QRCodeIcon.svelte +5 -0
  446. package/components/icons/QRCodeIcon.svelte.d.ts +16 -0
  447. package/components/icons/S3Icon.svelte.d.ts +3 -3
  448. package/components/icons/SendflakeIcon.svelte +15 -0
  449. package/components/icons/SendflakeIcon.svelte.d.ts +17 -0
  450. package/components/icons/SendgridIcon.svelte +66 -0
  451. package/components/icons/SendgridIcon.svelte.d.ts +17 -0
  452. package/components/icons/Slack.svelte.d.ts +3 -3
  453. package/components/icons/StripeIcon.svelte +9 -0
  454. package/components/icons/StripeIcon.svelte.d.ts +17 -0
  455. package/components/icons/TelegramIcon.svelte +9 -0
  456. package/components/icons/TelegramIcon.svelte.d.ts +17 -0
  457. package/components/icons/TogglIcon.svelte.d.ts +3 -3
  458. package/components/icons/WindmillIcon.svelte +3 -3
  459. package/components/icons/WindmillIcon.svelte.d.ts +3 -3
  460. package/components/icons/index.d.ts +70 -0
  461. package/components/icons/index.js +70 -0
  462. package/components/jobs/JobDetail.svelte +4 -4
  463. package/components/jobs/JobDetail.svelte.d.ts +3 -3
  464. package/components/preview/FlowPreviewStatus.svelte +12 -23
  465. package/components/preview/FlowPreviewStatus.svelte.d.ts +3 -3
  466. package/components/progressBar/ProgressBar.svelte.d.ts +3 -3
  467. package/components/progressBar/ProgressBarGeneralPart.svelte.d.ts +3 -3
  468. package/components/progressBar/ProgressBarLoopAccessor.svelte.d.ts +3 -3
  469. package/components/progressBar/ProgressBarLoopPart.svelte.d.ts +3 -3
  470. package/components/progressBar/model.d.ts +9 -9
  471. package/components/propertyPicker/ObjectViewer.svelte +34 -9
  472. package/components/propertyPicker/ObjectViewer.svelte.d.ts +4 -3
  473. package/components/propertyPicker/PropPicker.svelte +134 -110
  474. package/components/propertyPicker/PropPicker.svelte.d.ts +3 -3
  475. package/components/propertyPicker/PropPickerResult.svelte +2 -4
  476. package/components/propertyPicker/PropPickerResult.svelte.d.ts +3 -3
  477. package/components/propertyPicker/WarningMessage.svelte.d.ts +6 -2
  478. package/components/scriptEditor/LogPanel.svelte +15 -8
  479. package/components/scriptEditor/LogPanel.svelte.d.ts +3 -3
  480. package/components/scripts/CreateActionsScript.svelte +29 -0
  481. package/components/scripts/CreateActionsScript.svelte.d.ts +14 -0
  482. package/components/sidebar/FavoriteMenu.svelte +52 -0
  483. package/components/sidebar/FavoriteMenu.svelte.d.ts +21 -0
  484. package/components/sidebar/MenuLink.svelte +7 -4
  485. package/components/sidebar/MenuLink.svelte.d.ts +4 -3
  486. package/components/sidebar/SidebarContent.svelte +24 -26
  487. package/components/sidebar/SidebarContent.svelte.d.ts +3 -3
  488. package/components/sidebar/UserMenu.svelte +22 -5
  489. package/components/sidebar/UserMenu.svelte.d.ts +3 -3
  490. package/components/sidebar/WorkspaceMenu.svelte +9 -10
  491. package/components/sidebar/WorkspaceMenu.svelte.d.ts +3 -3
  492. package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +3 -3
  493. package/editorUtils.d.ts +3 -1
  494. package/editorUtils.js +5 -3
  495. package/gen/core/ApiRequestOptions.d.ts +1 -1
  496. package/gen/core/ApiResult.d.ts +1 -1
  497. package/gen/core/OpenAPI.d.ts +3 -3
  498. package/gen/core/OpenAPI.js +1 -1
  499. package/gen/index.d.ts +3 -0
  500. package/gen/index.js +1 -0
  501. package/gen/models/AppWithLastVersion.d.ts +12 -12
  502. package/gen/models/AuditLog.d.ts +1 -1
  503. package/gen/models/BranchAll.d.ts +1 -1
  504. package/gen/models/BranchOne.d.ts +1 -1
  505. package/gen/models/CompletedJob.d.ts +2 -1
  506. package/gen/models/ContextualVariable.d.ts +1 -1
  507. package/gen/models/CreateResource.d.ts +1 -2
  508. package/gen/models/CreateVariable.d.ts +1 -1
  509. package/gen/models/CreateWorkspace.d.ts +1 -2
  510. package/gen/models/EditResource.d.ts +1 -1
  511. package/gen/models/EditResourceType.d.ts +1 -1
  512. package/gen/models/EditSchedule.d.ts +1 -1
  513. package/gen/models/EditVariable.d.ts +1 -1
  514. package/gen/models/EditWorkspaceUser.d.ts +3 -1
  515. package/gen/models/Flow.d.ts +1 -1
  516. package/gen/models/FlowMetadata.d.ts +2 -1
  517. package/gen/models/FlowModule.d.ts +1 -1
  518. package/gen/models/FlowModuleValue.d.ts +2 -1
  519. package/gen/models/FlowPreview.d.ts +1 -1
  520. package/gen/models/FlowStatus.d.ts +4 -2
  521. package/gen/models/FlowStatusModule.d.ts +2 -2
  522. package/gen/models/FlowStatusModule.js +1 -1
  523. package/gen/models/FlowValue.d.ts +1 -1
  524. package/gen/models/ForloopFlow.d.ts +1 -1
  525. package/gen/models/GlobalUserInfo.d.ts +1 -1
  526. package/gen/models/Group.d.ts +1 -1
  527. package/gen/models/Identity.d.ts +2 -1
  528. package/gen/models/InputTransform.d.ts +1 -1
  529. package/gen/models/JavascriptTransform.d.ts +1 -1
  530. package/gen/models/Job.d.ts +1 -1
  531. package/gen/models/ListableApp.d.ts +10 -8
  532. package/gen/models/ListableResource.d.ts +14 -0
  533. package/gen/models/ListableResource.js +4 -0
  534. package/gen/models/ListableVariable.d.ts +5 -1
  535. package/gen/models/Login.d.ts +1 -1
  536. package/gen/models/MainArgSignature.d.ts +1 -1
  537. package/gen/models/NewSchedule.d.ts +1 -1
  538. package/gen/models/NewToken.d.ts +1 -1
  539. package/gen/models/NewUser.d.ts +1 -1
  540. package/gen/models/OpenFlow.d.ts +1 -1
  541. package/gen/models/OpenFlowWPath.d.ts +1 -1
  542. package/gen/models/PathFlow.d.ts +6 -0
  543. package/gen/models/PathFlow.js +4 -0
  544. package/gen/models/PathScript.d.ts +2 -1
  545. package/gen/models/Policy.d.ts +1 -1
  546. package/gen/models/Preview.d.ts +1 -1
  547. package/gen/models/QueuedJob.d.ts +2 -1
  548. package/gen/models/RawScript.d.ts +2 -1
  549. package/gen/models/Resource.d.ts +1 -1
  550. package/gen/models/ResourceType.d.ts +1 -1
  551. package/gen/models/Retry.d.ts +1 -1
  552. package/gen/models/Schedule.d.ts +3 -1
  553. package/gen/models/Script.d.ts +2 -1
  554. package/gen/models/ScriptArgs.d.ts +1 -1
  555. package/gen/models/SlackToken.d.ts +1 -1
  556. package/gen/models/StaticTransform.d.ts +1 -1
  557. package/gen/models/TokenResponse.d.ts +1 -1
  558. package/gen/models/TruncatedToken.d.ts +1 -1
  559. package/gen/models/Usage.d.ts +2 -4
  560. package/gen/models/User.d.ts +1 -1
  561. package/gen/models/UserWorkspaceList.d.ts +1 -1
  562. package/gen/models/WorkerPing.d.ts +1 -1
  563. package/gen/models/Workspace.d.ts +1 -1
  564. package/gen/models/WorkspaceInvite.d.ts +2 -1
  565. package/gen/services/AppService.d.ts +107 -1
  566. package/gen/services/AppService.js +89 -1
  567. package/gen/services/FavoriteService.d.ts +27 -0
  568. package/gen/services/FavoriteService.js +36 -0
  569. package/gen/services/FlowService.d.ts +7 -91
  570. package/gen/services/FlowService.js +2 -73
  571. package/gen/services/JobService.d.ts +50 -5
  572. package/gen/services/JobService.js +33 -5
  573. package/gen/services/OauthService.d.ts +1 -1
  574. package/gen/services/ResourceService.d.ts +9 -4
  575. package/gen/services/ResourceService.js +3 -2
  576. package/gen/services/ScheduleService.d.ts +1 -1
  577. package/gen/services/ScheduleService.js +1 -1
  578. package/gen/services/ScriptService.d.ts +7 -1
  579. package/gen/services/ScriptService.js +2 -1
  580. package/gen/services/UserService.d.ts +6 -0
  581. package/gen/services/UserService.js +11 -0
  582. package/gen/services/WorkspaceService.d.ts +35 -0
  583. package/gen/services/WorkspaceService.js +41 -0
  584. package/package.json +461 -361
  585. package/script_helpers.d.ts +5 -2
  586. package/script_helpers.js +91 -26
  587. package/scripts.d.ts +1 -0
  588. package/scripts.js +8 -1
  589. package/stateMachine.d.ts +4 -4
  590. package/stores.d.ts +13 -2
  591. package/stores.js +25 -6
  592. package/utils.d.ts +7 -3
  593. package/utils.js +31 -7
  594. package/components/ButtonAndDropdown.svelte +0 -25
  595. package/components/ButtonAndDropdown.svelte.d.ts +0 -23
  596. package/components/FlowModulesViewer.svelte +0 -191
  597. package/components/FlowModulesViewer.svelte.d.ts +0 -18
  598. package/components/flows/content/FlowBranchesWrapper.svelte +0 -140
  599. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +0 -19
  600. package/components/landing/FlowGettingStarted.svelte +0 -50
  601. package/components/landing/FlowGettingStarted.svelte.d.ts +0 -19
  602. package/components/landing/FlowLandingBox.svelte +0 -39
  603. package/components/landing/FlowLandingBox.svelte.d.ts +0 -17
  604. package/components/landing/RessourceGettingStarted.svelte +0 -21
  605. package/components/landing/RessourceGettingStarted.svelte.d.ts +0 -19
  606. package/components/landing/ScriptBox.svelte +0 -52
  607. package/components/landing/ScriptBox.svelte.d.ts +0 -17
  608. package/components/landing/ScriptGettingStarted.svelte +0 -48
  609. package/components/landing/ScriptGettingStarted.svelte.d.ts +0 -19
  610. package/components/scripts/CreateActions.svelte +0 -114
  611. package/components/scripts/CreateActions.svelte.d.ts +0 -14
package/common.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- export declare type OwnerKind = 'group' | 'user';
2
- export declare type ActionKind = 'Create' | 'Update' | 'Delete' | 'Execute';
3
- export declare type SupportedLanguage = 'deno' | 'python3' | 'go' | 'bash';
1
+ import type { Script } from "./gen";
2
+ export type OwnerKind = 'group' | 'user';
3
+ export type ActionKind = 'Create' | 'Update' | 'Delete' | 'Execute';
4
+ export type SupportedLanguage = Script.language;
4
5
  export interface SchemaProperty {
5
6
  type: string | undefined;
6
7
  description: string;
@@ -17,7 +18,7 @@ export interface SchemaProperty {
17
18
  [name: string]: SchemaProperty;
18
19
  };
19
20
  }
20
- export declare type Schema = {
21
+ export type Schema = {
21
22
  $schema: string;
22
23
  type: string;
23
24
  properties: {
@@ -25,7 +26,7 @@ export declare type Schema = {
25
26
  };
26
27
  required: string[];
27
28
  };
28
- export declare type Meta = {
29
+ export type Meta = {
29
30
  ownerKind: OwnerKind;
30
31
  owner: string;
31
32
  name: string;
@@ -0,0 +1,56 @@
1
+ <script>import { ResourceService } from '../gen';
2
+ import { workspaceStore } from '../stores';
3
+ import { emptySchema, emptyString } from '../utils';
4
+ import SchemaForm from './SchemaForm.svelte';
5
+ import SimpleEditor from './SimpleEditor.svelte';
6
+ export let resource_type;
7
+ export let args = {};
8
+ export let password;
9
+ export let isValid = true;
10
+ let schema = emptySchema();
11
+ let notFound = false;
12
+ async function loadSchema() {
13
+ try {
14
+ const rt = await ResourceService.getResourceType({
15
+ workspace: $workspaceStore,
16
+ path: resource_type
17
+ });
18
+ schema = rt.schema;
19
+ notFound = false;
20
+ }
21
+ catch (e) {
22
+ rawCode = '{}';
23
+ notFound = true;
24
+ }
25
+ }
26
+ $: {
27
+ $workspaceStore && loadSchema();
28
+ }
29
+ $: notFound && rawCode && parseJson();
30
+ function parseJson() {
31
+ try {
32
+ args = JSON.parse(rawCode);
33
+ error = '';
34
+ isValid = true;
35
+ }
36
+ catch (e) {
37
+ isValid = false;
38
+ error = e.message;
39
+ }
40
+ }
41
+ let error = '';
42
+ let rawCode = '';
43
+ </script>
44
+
45
+ {#if notFound}
46
+ <p class="italic text-gray-500 text-xs mb-4"
47
+ >No corresponding resource type found in your workspace for {resource_type}. Define the value in
48
+ JSON directly</p
49
+ >
50
+ {#if !emptyString(error)}<span class="text-red-400 text-xs mb-1 flex flex-row-reverse"
51
+ >{error}</span
52
+ >{:else}<div class="py-2" />{/if}
53
+ <SimpleEditor autoHeight lang="json" bind:code={rawCode} fixedOverflowWidgets={false} />
54
+ {:else}
55
+ <SchemaForm {password} isValid {schema} bind:args />
56
+ {/if}
@@ -0,0 +1,19 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ resource_type: string;
5
+ args?: Record<string, any> | any;
6
+ password: string;
7
+ isValid?: boolean | undefined;
8
+ };
9
+ events: {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {};
13
+ };
14
+ export type ApiConnectFormProps = typeof __propDef.props;
15
+ export type ApiConnectFormEvents = typeof __propDef.events;
16
+ export type ApiConnectFormSlots = typeof __propDef.slots;
17
+ export default class ApiConnectForm extends SvelteComponentTyped<ApiConnectFormProps, ApiConnectFormEvents, ApiConnectFormSlots> {
18
+ }
19
+ export {};
@@ -2,42 +2,69 @@
2
2
  const apiTokenApps = {
3
3
  airtable: {
4
4
  img: 'airtable_connect.png',
5
- instructions: 'Click on the top-right avatar -> Account -> Api'
5
+ instructions: ['Click on the top-right avatar', 'Click on Account', 'Find "Api"']
6
6
  },
7
7
  discord_webhook: {
8
8
  img: 'discord_webhook.png',
9
- instructions: 'Server Settings -> Integration -> Webhooks',
9
+ instructions: ['Click on Server Settings', 'Click on Integration', 'Find "Webhooks"'],
10
10
  key: 'webhook_url'
11
11
  },
12
12
  toggl: {
13
13
  img: 'toggl_connect.png',
14
- instructions: 'Go to https://track.toggl.com/profile -> API Token'
14
+ instructions: [
15
+ 'Go to <a href="https://track.toggl.com/profile" target="_blank" rel=”noopener noreferrer”>https://track.toggl.com/profile</a>',
16
+ 'Find "API Token"'
17
+ ]
18
+ },
19
+ mailchimp: {
20
+ img: 'mailchimp_connect.png',
21
+ instructions: [
22
+ 'Go to <a href="https://admin.mailchimp.com/account/api" target="_blank" rel=”noopener noreferrer”>https://admin.mailchimp.com/account/api</a>',
23
+ 'Find "Your API Keys"'
24
+ ]
25
+ },
26
+ sendgrid: {
27
+ img: 'sendgrid_connect.png',
28
+ instructions: [
29
+ 'Go to <a href="https://app.sendgrid.com/settings/api_keys" target="_blank" rel=”noopener noreferrer”>https://app.sendgrid.com/settings/api_keys</a>',
30
+ 'Create an API key',
31
+ 'Copy your key'
32
+ ]
15
33
  }
16
34
  };
17
35
  </script>
18
36
 
19
- <script>import { oauthStore, userStore, workspaceStore } from '../stores';
37
+ <script>import { oauthStore, workspaceStore } from '../stores';
20
38
  import { faMinus, faPlus } from '@fortawesome/free-solid-svg-icons';
21
39
  import IconedResourceType from './IconedResourceType.svelte';
22
40
  import { OauthService, ResourceService, VariableService } from '../gen';
23
41
  import { page } from '$app/stores';
24
- import { sendUserToast, truncateRev } from '../utils';
42
+ import { emptyString, sendUserToast, truncateRev } from '../utils';
25
43
  import { createEventDispatcher } from 'svelte';
26
44
  import Icon from 'svelte-awesome';
27
- import Password from './Password.svelte';
28
45
  import Path from './Path.svelte';
29
- import { Alert, Button, Drawer } from './common';
46
+ import { Button, Drawer, Skeleton } from './common';
30
47
  import DrawerContent from './common/drawer/DrawerContent.svelte';
48
+ import ApiConnectForm from './ApiConnectForm.svelte';
49
+ import SearchItems from './SearchItems.svelte';
50
+ import autosize from 'svelte-autosize';
51
+ export let newPageOAuth = false;
52
+ let filter = '';
31
53
  let manual = false;
32
54
  let value = '';
33
55
  let valueToken;
34
- let connects = {};
35
- let connectsManual = [];
36
- let key = 'token';
37
- $: key = apiTokenApps[resource_type]?.key ?? 'token';
56
+ let connects = undefined;
57
+ let connectsManual = undefined;
58
+ let args = {};
59
+ $: key =
60
+ apiTokenApps[resource_type]?.key ??
61
+ (args != undefined
62
+ ? Object.keys(args).filter((x) => ['token', 'password', 'api_key'].includes(x))[0]
63
+ : undefined);
38
64
  let scopes = [];
39
65
  let extra_params = [];
40
66
  let path;
67
+ let description = '';
41
68
  let drawer;
42
69
  let resource_type = '';
43
70
  let step = 1;
@@ -46,15 +73,22 @@ let pathError = '';
46
73
  export async function open(rt) {
47
74
  step = 1;
48
75
  value = '';
76
+ description = '';
49
77
  no_back = false;
50
78
  resource_type = rt ?? '';
51
79
  await loadConnects();
52
- const connect = connects[resource_type];
80
+ const connect = connects?.[resource_type];
53
81
  if (connect) {
54
82
  scopes = connect.scopes;
55
83
  extra_params = Object.entries(connect.extra_params ?? {});
56
84
  }
57
- drawer.openDrawer();
85
+ else {
86
+ manual = true;
87
+ if (rt) {
88
+ next();
89
+ }
90
+ }
91
+ drawer.openDrawer?.();
58
92
  }
59
93
  export function openFromOauth(rt) {
60
94
  resource_type = rt;
@@ -64,19 +98,29 @@ export function openFromOauth(rt) {
64
98
  manual = false;
65
99
  step = 3;
66
100
  no_back = true;
67
- drawer.openDrawer();
101
+ drawer.openDrawer?.();
68
102
  }
69
103
  async function loadConnects() {
70
104
  connects = await OauthService.listOAuthConnects();
71
105
  }
72
106
  async function loadResources() {
107
+ await loadConnects();
73
108
  const availableRts = await ResourceService.listResourceTypeNames({
74
109
  workspace: $workspaceStore
75
110
  });
76
- connectsManual = Object.entries(apiTokenApps).filter(([key, _]) => availableRts.includes(key));
111
+ connectsManual = availableRts
112
+ .filter((x) => !Object.keys(connects ?? {}).includes(x))
113
+ .map((x) => [
114
+ x,
115
+ apiTokenApps[x] ?? {
116
+ instructions: '',
117
+ img: undefined,
118
+ key: undefined
119
+ }
120
+ ]);
77
121
  }
78
122
  async function next() {
79
- if (step < 3 && manual) {
123
+ if (step == 1 && manual) {
80
124
  step += 1;
81
125
  }
82
126
  else if (step == 1 && !manual) {
@@ -85,7 +129,12 @@ async function next() {
85
129
  if (extra_params.length > 0) {
86
130
  extra_params.forEach(([key, value]) => url.searchParams.append(key, value));
87
131
  }
88
- window.location.href = url.toString();
132
+ if (!newPageOAuth) {
133
+ window.location.href = url.toString();
134
+ }
135
+ else {
136
+ window.open(url.toString(), '_blank');
137
+ }
89
138
  }
90
139
  else {
91
140
  let exists = await VariableService.existsVariable({
@@ -103,44 +152,46 @@ async function next() {
103
152
  throw Error(`Resource at path ${path} already exists. Delete it or pick another path`);
104
153
  }
105
154
  let account = undefined;
106
- if (valueToken?.refresh_token != undefined && valueToken?.expires_in != undefined) {
155
+ if (valueToken?.expires_in != undefined) {
107
156
  account = Number(await OauthService.createAccount({
108
157
  workspace: $workspaceStore,
109
158
  requestBody: {
110
- refresh_token: valueToken.refresh_token,
159
+ refresh_token: valueToken.refresh_token ?? '',
111
160
  expires_in: valueToken.expires_in,
112
161
  owner: path.split('/').slice(0, 2).join('/'),
113
162
  client: resource_type
114
163
  }
115
164
  }));
116
165
  }
117
- const description = `${manual ? 'Token' : 'OAuth token'} for ${resource_type}`;
118
- await VariableService.createVariable({
119
- workspace: $workspaceStore,
120
- requestBody: {
121
- path,
122
- value,
123
- is_secret: true,
124
- description,
125
- is_oauth: !manual,
126
- account: account
127
- }
128
- });
129
- const resourceValue = {};
130
- resourceValue[key] = `$var:${path}`;
166
+ const resourceValue = args;
167
+ if (!manual || key != undefined) {
168
+ await VariableService.createVariable({
169
+ workspace: $workspaceStore,
170
+ requestBody: {
171
+ path,
172
+ value: manual ? args[key ?? ''] : value,
173
+ is_secret: true,
174
+ description: emptyString(description)
175
+ ? `${manual ? 'Token' : 'OAuth token'} for ${resource_type}`
176
+ : description,
177
+ is_oauth: !manual,
178
+ account: account
179
+ }
180
+ });
181
+ resourceValue[key ?? 'token'] = `$var:${path}`;
182
+ }
131
183
  await ResourceService.createResource({
132
184
  workspace: $workspaceStore,
133
185
  requestBody: {
134
186
  resource_type,
135
187
  path,
136
188
  value: resourceValue,
137
- description,
138
- is_oauth: !manual
189
+ description
139
190
  }
140
191
  });
141
- dispatch('refresh');
192
+ dispatch('refresh', path);
142
193
  sendUserToast(`App token set at resource and variable path: ${path}`);
143
- drawer.closeDrawer();
194
+ drawer.closeDrawer?.();
144
195
  }
145
196
  }
146
197
  async function back() {
@@ -158,190 +209,202 @@ $: isGoogleSignin =
158
209
  resource_type == 'gsheets');
159
210
  $: disabled =
160
211
  (step == 1 && resource_type == '') ||
161
- (step == 2 && value == '') ||
162
- (step == 3 && pathError != '');
212
+ (step == 2 &&
213
+ value == '' &&
214
+ args &&
215
+ args['token'] == '' &&
216
+ args['password'] == '' &&
217
+ args['api_key'] == '' &&
218
+ key != undefined) ||
219
+ (step == 3 && pathError != '') ||
220
+ !isValid;
221
+ let isValid = true;
222
+ let filteredConnects = [];
223
+ let filteredConnectsManual = [];
163
224
  </script>
164
225
 
226
+ <SearchItems
227
+ {filter}
228
+ items={connects ? Object.entries(connects).sort((a, b) => a[0].localeCompare(b[0])) : undefined}
229
+ bind:filteredItems={filteredConnects}
230
+ f={(x) => x[0]}
231
+ />
232
+ <SearchItems
233
+ {filter}
234
+ items={connectsManual?.sort((a, b) => a[0].localeCompare(b[0]))}
235
+ bind:filteredItems={filteredConnectsManual}
236
+ f={(x) => x[0]}
237
+ />
238
+
165
239
  <Drawer
166
240
  bind:this={drawer}
167
241
  on:close={() => {
168
242
  dispatch('close')
169
243
  }}
170
244
  on:open={() => {
171
- loadConnects()
172
245
  loadResources()
173
246
  }}
247
+ size="800px"
174
248
  >
175
- <DrawerContent title="Connect an API" on:close={drawer.closeDrawer}>
249
+ <DrawerContent title="Connect an API or add a Resource" on:close={drawer.closeDrawer}>
176
250
  {#if step == 1}
177
- {#if resource_type && !connects[resource_type] && !connectsManual.find((x) => x[0] == resource_type)}
178
- <Alert class="mb-4" type="error" title="Resource type not found">
179
- The resource type "{resource_type}" seems to not have an OAuth API integration. You can
180
- still create this resource manually by closing this modal and pressing: "Add a resource".
181
- You can also contribute to windmill and add it as an API integration if relevant.
182
- </Alert>
183
- {/if}
184
- <div class="mb-1 font-semibold text-gray-700">OAuth APIs</div>
185
- <div class="grid sm:grid-cols-2 md:grid-cols-3 gap-x-2 gap-y-1 items-center mb-2">
186
- {#each Object.entries(connects).sort((a, b) => a[0].localeCompare(b[0])) as [key, values]}
187
- <Button
188
- size="sm"
189
- variant="border"
190
- color={key === resource_type ? 'blue' : 'dark'}
191
- btnClasses={key === resource_type ? '!border-2 !bg-blue-50/75' : 'm-[1px]'}
192
- on:click={() => {
193
- manual = false
194
- resource_type = key
195
- scopes = values.scopes
196
- extra_params = Object.entries(values.extra_params ?? {})
251
+ <div class="w-12/12 pb-2 flex flex-row my-1 gap-1">
252
+ <input
253
+ type="text"
254
+ placeholder="Search resource type"
255
+ bind:value={filter}
256
+ class="text-2xl grow"
257
+ />
258
+ </div>
197
259
 
198
- dispatch('click')
199
- }}
200
- >
201
- <IconedResourceType name={key} after={true} width="20px" height="20px" />
202
- </Button>
203
- {/each}
260
+ <h2 class="mb-4">OAuth APIs</h2>
261
+ <div class="grid sm:grid-cols-2 md:grid-cols-3 gap-x-2 gap-y-1 items-center mb-2">
262
+ {#if filteredConnects}
263
+ {#each filteredConnects as [key, values]}
264
+ <Button
265
+ size="sm"
266
+ variant="border"
267
+ color={key === resource_type ? 'blue' : 'dark'}
268
+ btnClasses={key === resource_type ? '!border-2 !bg-blue-50/75' : 'm-[1px]'}
269
+ on:click={() => {
270
+ manual = false
271
+ resource_type = key
272
+ scopes = values.scopes
273
+ extra_params = Object.entries(values.extra_params ?? {})
274
+ }}
275
+ >
276
+ <IconedResourceType name={key} after={true} width="20px" height="20px" />
277
+ </Button>
278
+ {/each}
279
+ {:else}
280
+ {#each new Array(3) as _}
281
+ <Skeleton layout={[[2]]} />
282
+ {/each}
283
+ {/if}
204
284
  </div>
205
- <div class="mb-1 font-semibold text-gray-700 mt-6">Scopes</div>
206
- {#if !manual && resource_type != ''}
207
- {#each scopes as v}
208
- <div class="flex flex-row max-w-md mb-2">
209
- <input type="text" bind:value={v} />
285
+ {#if manual == false && resource_type != ''}
286
+ <h3>Scopes</h3>
287
+ {#if !manual && resource_type != ''}
288
+ {#each scopes as v}
289
+ <div class="flex flex-row max-w-md mb-2">
290
+ <input type="text" bind:value={v} />
291
+ <Button
292
+ variant="border"
293
+ color="red"
294
+ size="xs"
295
+ btnClasses="mx-6"
296
+ on:click={() => {
297
+ scopes = scopes.filter((el) => el != v)
298
+ }}
299
+ >
300
+ <Icon data={faMinus} />
301
+ </Button>
302
+ </div>
303
+ {/each}
304
+ <div class="flex items-center mt-1">
210
305
  <Button
211
306
  variant="border"
212
- color="red"
213
- size="xs"
214
- btnClasses="mx-6"
307
+ color="blue"
308
+ size="sm"
309
+ endIcon={{ icon: faPlus }}
215
310
  on:click={() => {
216
- scopes = scopes.filter((el) => el != v)
311
+ scopes = scopes.concat('')
217
312
  }}
218
313
  >
219
- <Icon data={faMinus} />
314
+ Add item
220
315
  </Button>
316
+ <span class="ml-2 text-sm text-gray-500">
317
+ ({(scopes ?? []).length} item{(scopes ?? []).length > 1 ? 's' : ''})
318
+ </span>
221
319
  </div>
222
- {/each}
223
- <div class="flex items-center mt-1">
224
- <Button
225
- variant="border"
226
- color="blue"
227
- size="sm"
228
- endIcon={{ icon: faPlus }}
229
- on:click={() => {
230
- scopes = scopes.concat('')
231
- }}
232
- >
233
- Add item
234
- </Button>
235
- <span class="ml-2 text-sm text-gray-500">
236
- ({(scopes ?? []).length} item{(scopes ?? []).length > 1 ? 's' : ''})
237
- </span>
238
- </div>
239
- {:else}
240
- <p class="italic text-sm">Pick an OAuth API and customize the scopes here</p>
320
+ {/if}
241
321
  {/if}
242
- <div class="mb-1 font-semibold text-gray-700 mt-6">Extra params</div>
243
- {#if !manual && resource_type != ''}
244
- {#each extra_params as [k, v]}
245
- <div class="flex flex-row max-w-md mb-2">
246
- <input type="text" bind:value={k} class="mr-2" />
247
- <input type="text" bind:value={v} />
248
322
 
323
+ <h2 class="mt-8 mb-4">Non OAuth APIs & Resources</h2>
324
+ <div class="grid sm:grid-cols-2 md:grid-cols-3 gap-x-2 gap-y-1 items-center mb-2">
325
+ {#if filteredConnectsManual}
326
+ {#each filteredConnectsManual as [key, instructions]}
249
327
  <Button
328
+ size="sm"
250
329
  variant="border"
251
- color="red"
252
- size="xs"
253
- btnClasses="mx-6"
330
+ color={key === resource_type ? 'blue' : 'dark'}
331
+ btnClasses={key === resource_type ? '!border-2 !bg-blue-50/75' : 'm-[1px]'}
254
332
  on:click={() => {
255
- extra_params = extra_params.filter((el) => el[0] != k)
333
+ manual = true
334
+ resource_type = key
335
+ next()
336
+ dispatch('click')
256
337
  }}
257
338
  >
258
- <Icon data={faMinus} />
339
+ <IconedResourceType name={key} after={true} width="20px" height="20px" />
259
340
  </Button>
260
- </div>
261
- {/each}
262
- <div class="flex items-center mt-1">
263
- <Button
264
- variant="border"
265
- color="blue"
266
- size="sm"
267
- endIcon={{ icon: faPlus }}
268
- on:click={() => {
269
- extra_params.push(['', ''])
270
- extra_params = extra_params
271
- }}
272
- >
273
- Add item
274
- </Button>
275
- <span class="ml-2 text-sm text-gray-500">
276
- ({(extra_params ?? []).length} item{(extra_params ?? []).length > 1 ? 's' : ''})
277
- </span>
278
- </div>
279
- {:else}
280
- <p class="italic text-sm">Pick an OAuth API and customize the extra parameters here</p>
281
- {/if}
282
- <div class="mb-1 font-semibold text-gray-700 mt-6">Non OAuth APIs</div>
283
- <div class="grid sm:grid-cols-2 md:grid-cols-3 gap-x-2 gap-y-1 items-center mb-2">
284
- {#each connectsManual as [key, instructions]}
285
- <Button
286
- size="sm"
287
- variant="border"
288
- color={key === resource_type ? 'blue' : 'dark'}
289
- btnClasses={key === resource_type ? '!border-2 !bg-blue-50/75' : 'm-[1px]'}
290
- on:click={() => {
291
- manual = true
292
- resource_type = key
293
- dispatch('click')
294
- }}
295
- >
296
- <IconedResourceType name={key} after={true} width="20px" height="20px" />
297
- </Button>
298
- {/each}
341
+ {/each}
342
+ {:else}
343
+ {#each new Array(9) as _}
344
+ <Skeleton layout={[[2]]} />
345
+ {/each}
346
+ {/if}
299
347
  </div>
300
- {:else if step == 2}
301
- {#if manual}
302
- <div class="mb-1 font-semibold text-gray-700 mt-6">Instructions</div>
303
- <div>
304
- {apiTokenApps[resource_type].instructions}
348
+ {:else if step == 2 && manual}
349
+ <Path
350
+ bind:error={pathError}
351
+ bind:path
352
+ initialPath=""
353
+ namePlaceholder="my_{resource_type}"
354
+ kind="resource"
355
+ />
356
+ <h2 class="mt-4 mb-2">Description</h2>
357
+
358
+ <textarea type="text" autocomplete="off" use:autosize bind:value={description} />
359
+
360
+ {#if apiTokenApps[resource_type]}
361
+ <h2 class="mt-4 mb-2">Instructions</h2>
362
+ <div class="pl-10">
363
+ <ol class="list-decimal">
364
+ {#each apiTokenApps[resource_type].instructions as step}
365
+ <li>
366
+ {@html step}
367
+ </li>
368
+ {/each}
369
+ </ol>
305
370
  </div>
306
371
  {#if apiTokenApps[resource_type].img}
307
372
  <div class="mt-4">
308
373
  <img alt="connect" src={apiTokenApps[resource_type].img} />
309
374
  </div>
310
375
  {/if}
311
- <div class="mt-4">
312
- <Password bind:password={value} label="Paste token here" />
313
- </div>
314
376
  {/if}
377
+
378
+ <h2 class="mt-8">Value</h2>
379
+ <div class="mt-4">
380
+ <ApiConnectForm password={key ?? ''} {resource_type} bind:args bind:isValid />
381
+ </div>
315
382
  {:else}
316
383
  <Path
384
+ initialPath=""
385
+ namePlaceholder="my_{resource_type}"
317
386
  bind:error={pathError}
318
387
  bind:path
319
- initialPath={`u/${$userStore?.username ?? ''}/my_${resource_type}`}
320
388
  kind="resource"
321
389
  />
322
- <ul class="mt-10 bg-white">
323
- <li>
324
- 1. A secret variable containing the token <span class="font-bold"
325
- >{truncateRev(value, 5, '*****')}</span
326
- >
327
- will be stored at
328
- <span class="font-mono">{path}</span>. You can refer to this variable anywhere this token
329
- is required.
330
- </li>
331
- <li class="mt-4">
332
- 2. A resource with a unique token field will be stored at <span class="font-mono"
333
- >{path}</span
334
- >
335
- and refer to the secret variable <span class="font-mono">{path}</span> as its token (using
336
- variable templating
337
- <span class="font-mono">`$var:${path}`</span>). You can refer to this resource anywhere
338
- this token is required. A script can use the resource type
339
- <span class="font-mono">{resource_type}</span> as a type parameter to restrict the kind of
340
- tokens it accepts to this api.
341
- </li>
342
- </ul>
390
+ {#if apiTokenApps[resource_type] || !manual}
391
+ <ul class="mt-10 bg-white">
392
+ <li>
393
+ 1. A secret variable containing the {apiTokenApps[resource_type]?.key ?? 'token'}
394
+ <span class="font-bold">{truncateRev(value, 5, '*****')}</span>
395
+ will be stored a
396
+ <span class="font-mono whitespace-nowrap">{path}</span>.
397
+ </li>
398
+ <li class="mt-4">
399
+ 2. The resource containing that token will be stored at the same path <span
400
+ class="font-mono whitespace-nowrap">{path}</span
401
+ >. The Variable and Resource will be "linked together", they will be deleted and renamed
402
+ together.
403
+ </li></ul
404
+ >
405
+ {/if}
343
406
  {/if}
344
- <div slot="submission" class="flex items-center gap-4">
407
+ <div slot="actions">
345
408
  {#if step > 1 && !no_back}
346
409
  <Button variant="border" on:click={back}>Back</Button>
347
410
  {/if}
@@ -353,10 +416,10 @@ $: disabled =
353
416
  <Button {disabled} on:click={next}>
354
417
  {#if step == 1 && !manual}
355
418
  Connect
356
- {:else if step == 3}
357
- Add resource
358
- {:else}
419
+ {:else if step == 1 && manual}
359
420
  Next
421
+ {:else}
422
+ Save
360
423
  {/if}
361
424
  </Button>
362
425
  {/if}