windmill-components 1.122.0 → 1.138.2

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 (624) hide show
  1. package/package/assets/app.css +8 -0
  2. package/package/common.d.ts +1 -0
  3. package/package/common.js +8 -0
  4. package/package/components/AddUser.svelte +27 -5
  5. package/package/components/ApiConnectForm.svelte +14 -39
  6. package/package/components/AppConnect.svelte +25 -9
  7. package/package/components/ArgEnum.svelte +1 -0
  8. package/package/components/ArgInfo.svelte +2 -2
  9. package/package/components/ArgInput.svelte +16 -13
  10. package/package/components/ArgInput.svelte.d.ts +1 -0
  11. package/package/components/ArrayTypeNarrowing.svelte +1 -1
  12. package/package/components/Badge.svelte +1 -1
  13. package/package/components/CenteredModal.svelte +7 -13
  14. package/package/components/ChevronButton.svelte +1 -1
  15. package/package/components/CliHelpBox.svelte +4 -25
  16. package/package/components/CollapseLink.svelte +3 -2
  17. package/package/components/CollapseLink.svelte.d.ts +1 -0
  18. package/package/components/CronInput.svelte +5 -5
  19. package/package/components/DBSchemaExplorer.svelte +160 -0
  20. package/package/components/DBSchemaExplorer.svelte.d.ts +17 -0
  21. package/package/components/DarkModeObserver.svelte +18 -0
  22. package/package/components/DarkModeObserver.svelte.d.ts +16 -0
  23. package/package/components/DeployWorkspace.svelte +1 -1
  24. package/package/components/DiffDrawer.svelte +3 -1
  25. package/package/components/DiffEditor.svelte +69 -0
  26. package/package/components/DiffEditor.svelte.d.ts +35 -0
  27. package/package/components/DisplayResult.svelte +29 -13
  28. package/package/components/DisplayResult.svelte.d.ts +8 -0
  29. package/package/components/Dropdown.svelte +8 -8
  30. package/package/components/Editor.svelte +125 -17
  31. package/package/components/Editor.svelte.d.ts +11 -1
  32. package/package/components/EditorBar.svelte +149 -56
  33. package/package/components/EditorBar.svelte.d.ts +5 -1
  34. package/package/components/EditorTheme.svelte +194 -0
  35. package/package/components/EditorTheme.svelte.d.ts +14 -0
  36. package/package/components/FieldHeader.svelte +6 -6
  37. package/package/components/FlowBuilder.svelte +6 -2
  38. package/package/components/FlowGraphViewer.svelte +9 -11
  39. package/package/components/FlowJobResult.svelte +4 -3
  40. package/package/components/FlowJobResult.svelte.d.ts +1 -0
  41. package/package/components/FlowMetadata.svelte +16 -14
  42. package/package/components/FlowPreviewContent.svelte +4 -4
  43. package/package/components/FlowStatusViewer.svelte +20 -17
  44. package/package/components/FlowStatusWaitingForEvents.svelte +1 -1
  45. package/package/components/FlowViewer.svelte +8 -5
  46. package/package/components/FlowViewer.svelte.d.ts +1 -0
  47. package/package/components/FolderEditor.svelte +3 -3
  48. package/package/components/FolderInfo.svelte +2 -2
  49. package/package/components/FolderUsageInfo.svelte +1 -1
  50. package/package/components/GroupEditor.svelte +40 -13
  51. package/package/components/GroupInfo.svelte +2 -2
  52. package/package/components/HighlightCode.svelte +4 -0
  53. package/package/components/HighlightCode.svelte.d.ts +2 -1
  54. package/package/components/IconedResourceType.svelte +1 -1
  55. package/package/components/InlineCodeCopy.svelte +2 -1
  56. package/package/components/InputTransformForm.svelte +1 -5
  57. package/package/components/InputTransformSchemaForm.svelte +2 -2
  58. package/package/components/InputTransformsViewer.svelte +2 -2
  59. package/package/components/InviteGlobalUser.svelte +39 -28
  60. package/package/components/InviteUser.svelte +27 -5
  61. package/package/components/ItemPicker.svelte +13 -7
  62. package/package/components/JobArgs.svelte +4 -4
  63. package/package/components/LightweightArgInput.svelte +3 -3
  64. package/package/components/LogViewer.svelte +10 -5
  65. package/package/components/LoginPageHeader.svelte +16 -0
  66. package/package/components/LoginPageHeader.svelte.d.ts +23 -0
  67. package/package/components/Modal.svelte +2 -2
  68. package/package/components/ModulePreview.svelte +15 -5
  69. package/package/components/ModulePreview.svelte.d.ts +6 -1
  70. package/package/components/ModuleStatus.svelte +2 -2
  71. package/package/components/MoveDrawer.svelte +3 -3
  72. package/package/components/ObjectResourceInput.svelte +2 -0
  73. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  74. package/package/components/Password.svelte +8 -3
  75. package/package/components/Password.svelte.d.ts +1 -0
  76. package/package/components/Path.svelte +31 -18
  77. package/package/components/Path.svelte.d.ts +4 -0
  78. package/package/components/RadioButton.svelte +3 -3
  79. package/package/components/Range.svelte.d.ts +0 -3
  80. package/package/components/Required.svelte +2 -2
  81. package/package/components/ResourceEditor.svelte +10 -9
  82. package/package/components/ResourcePicker.svelte +31 -6
  83. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  84. package/package/components/ResultJobLoader.svelte.d.ts +2 -2
  85. package/package/components/RunForm.svelte +69 -59
  86. package/package/components/RunForm.svelte.d.ts +1 -0
  87. package/package/components/RunPageSchedules.svelte +169 -0
  88. package/package/components/RunPageSchedules.svelte.d.ts +18 -0
  89. package/package/components/SavedInputs.svelte +36 -18
  90. package/package/components/ScheduleEditor.svelte +23 -11
  91. package/package/components/SchemaEditor.svelte +16 -8
  92. package/package/components/SchemaForm.svelte +7 -9
  93. package/package/components/SchemaForm.svelte.d.ts +1 -0
  94. package/package/components/SchemaModal.svelte +41 -13
  95. package/package/components/SchemaModal.svelte.d.ts +2 -1
  96. package/package/components/SchemaViewer.svelte +1 -1
  97. package/package/components/ScriptBuilder.svelte +147 -76
  98. package/package/components/ScriptBuilder.svelte.d.ts +1 -1
  99. package/package/components/ScriptEditor.svelte +22 -2
  100. package/package/components/ScriptEditor.svelte.d.ts +6 -3
  101. package/package/components/ScriptPicker.svelte +84 -32
  102. package/package/components/ScriptPicker.svelte.d.ts +1 -0
  103. package/package/components/ScriptVersionHistory.svelte +20 -2
  104. package/package/components/ScriptVersionHistory.svelte.d.ts +3 -0
  105. package/package/components/SharedBadge.svelte +1 -1
  106. package/package/components/SimpleEditor.svelte +25 -10
  107. package/package/components/SimpleEditor.svelte.d.ts +9 -0
  108. package/package/components/Star.svelte +5 -1
  109. package/package/components/StringTypeNarrowing.svelte +2 -2
  110. package/package/components/SupabaseConnect.svelte +160 -0
  111. package/package/components/SupabaseConnect.svelte.d.ts +19 -0
  112. package/package/components/SuperadminSettings.svelte +9 -8
  113. package/package/components/TableCustom.svelte +2 -2
  114. package/package/components/TableSimple.svelte +5 -5
  115. package/package/components/TemplateEditor.svelte +0 -10
  116. package/package/components/TestConnection.svelte +72 -0
  117. package/package/components/TestConnection.svelte.d.ts +17 -0
  118. package/package/components/TestJobLoader.svelte.d.ts +4 -3
  119. package/package/components/Toast.svelte +7 -5
  120. package/package/components/Toggle.svelte +3 -3
  121. package/package/components/ToggleHubWorkspace.svelte +6 -9
  122. package/package/components/Tooltip.svelte +2 -2
  123. package/package/components/Uptodate.svelte +2 -2
  124. package/package/components/UserSettings.svelte +10 -10
  125. package/package/components/VariableEditor.svelte +21 -20
  126. package/package/components/Version.svelte +3 -1
  127. package/package/components/WhitelistIp.svelte +1 -1
  128. package/package/components/apps/components/buttons/AppButton.svelte +2 -2
  129. package/package/components/apps/components/buttons/AppForm.svelte +5 -4
  130. package/package/components/apps/components/buttons/AppFormButton.svelte +1 -1
  131. package/package/components/apps/components/buttons/AppSchemaForm.svelte +1 -1
  132. package/package/components/apps/components/display/AppBarChart.svelte +13 -1
  133. package/package/components/apps/components/display/AppFlowStatusComponent.svelte +1 -1
  134. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +64 -0
  135. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +23 -0
  136. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +72 -0
  137. package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +23 -0
  138. package/package/components/apps/components/display/AppMap.svelte +4 -10
  139. package/package/components/apps/components/display/AppPdf.svelte +6 -6
  140. package/package/components/apps/components/display/AppText.svelte +19 -19
  141. package/package/components/apps/components/display/PlotlyHtml.svelte +16 -4
  142. package/package/components/apps/components/display/table/AppAggridTable.svelte +16 -12
  143. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
  144. package/package/components/apps/components/display/table/AppTable.svelte +149 -124
  145. package/package/components/apps/components/helpers/ComponentErrorHandler.svelte +2 -2
  146. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  147. package/package/components/apps/components/helpers/InputValue.svelte +14 -4
  148. package/package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -0
  149. package/package/components/apps/components/helpers/Loader.svelte +1 -1
  150. package/package/components/apps/components/helpers/MissingConnectionWarning.svelte +1 -1
  151. package/package/components/apps/components/helpers/RefreshButton.svelte +1 -1
  152. package/package/components/apps/components/helpers/RunnableComponent.svelte +57 -21
  153. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
  154. package/package/components/apps/components/helpers/RunnableWrapper.svelte +52 -28
  155. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +15 -2
  156. package/package/components/apps/components/helpers/eval.d.ts +2 -0
  157. package/package/components/apps/components/helpers/eval.js +6 -1
  158. package/package/components/apps/components/inputs/AppCheckbox.svelte +15 -17
  159. package/package/components/apps/components/inputs/AppDateInput.svelte +19 -1
  160. package/package/components/apps/components/inputs/AppMultiSelect.svelte +81 -22
  161. package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +2 -0
  162. package/package/components/apps/components/inputs/AppQuillEditor.svelte +29 -3
  163. package/package/components/apps/components/inputs/AppSelect.svelte +18 -7
  164. package/package/components/apps/components/inputs/AppSelectTab.svelte +3 -8
  165. package/package/components/apps/components/inputs/AppTextInput.svelte +4 -0
  166. package/package/components/apps/components/inputs/AppTextInput.svelte.d.ts +2 -0
  167. package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
  168. package/package/components/apps/components/layout/AppList.svelte +54 -62
  169. package/package/components/apps/components/layout/AppModal.svelte +13 -5
  170. package/package/components/apps/components/layout/AppStepper.svelte +1 -1
  171. package/package/components/apps/components/layout/AppTabs.svelte +3 -3
  172. package/package/components/apps/components/layout/ListWrapper.svelte +0 -1
  173. package/package/components/apps/components/layout/RowWrapper.svelte +22 -0
  174. package/package/components/apps/components/layout/RowWrapper.svelte.d.ts +23 -0
  175. package/package/components/apps/editor/AppComponentInput.svelte +1 -1
  176. package/package/components/apps/editor/AppDeploymentHistory.svelte +34 -0
  177. package/package/components/apps/editor/AppDeploymentHistory.svelte.d.ts +17 -0
  178. package/package/components/apps/editor/AppEditor.svelte +13 -4
  179. package/package/components/apps/editor/AppEditorHeader.svelte +78 -41
  180. package/package/components/apps/editor/AppInputs.svelte +1 -1
  181. package/package/components/apps/editor/AppPreview.svelte +14 -5
  182. package/package/components/apps/editor/ComponentHeader.svelte +4 -4
  183. package/package/components/apps/editor/DeploymentHistory.svelte +8 -6
  184. package/package/components/apps/editor/GridEditor.svelte +4 -4
  185. package/package/components/apps/editor/RecomputeAllComponents.svelte +2 -2
  186. package/package/components/apps/editor/SettingsPanel.svelte +4 -5
  187. package/package/components/apps/editor/TabsDebug.svelte +1 -1
  188. package/package/components/apps/editor/component/Component.svelte +21 -1
  189. package/package/components/apps/editor/component/ComponentNavigation.svelte +15 -1
  190. package/package/components/apps/editor/component/components.d.ts +293 -58
  191. package/package/components/apps/editor/component/components.js +146 -4
  192. package/package/components/apps/editor/component/sets.js +2 -2
  193. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +8 -8
  194. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +4 -4
  195. package/package/components/apps/editor/componentsPanel/CssSettings.svelte +2 -2
  196. package/package/components/apps/editor/componentsPanel/ListItem.svelte +3 -3
  197. package/package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +2 -2
  198. package/package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte +3 -3
  199. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +8 -0
  200. package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +3 -3
  201. package/package/components/apps/editor/contextPanel/ContextPanel.svelte +8 -6
  202. package/package/components/apps/editor/contextPanel/SubGridOutput.svelte +6 -3
  203. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +18 -24
  204. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +1 -0
  205. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +16 -9
  206. package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +16 -26
  207. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +71 -51
  208. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +2 -0
  209. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +1 -1
  210. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte +21 -1
  211. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte.d.ts +1 -0
  212. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -2
  213. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +9 -3
  214. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +33 -11
  215. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  216. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
  217. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +24 -11
  218. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +0 -1
  219. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +2 -3
  220. package/package/components/apps/editor/settingsPanel/GridPane.svelte +1 -1
  221. package/package/components/apps/editor/settingsPanel/GridTab.svelte +2 -2
  222. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +0 -1
  223. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +4 -5
  224. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +0 -1
  225. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -4
  226. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +0 -1
  227. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +0 -2
  228. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte.d.ts +0 -1
  229. package/package/components/apps/editor/settingsPanel/Recompute.svelte +5 -5
  230. package/package/components/apps/editor/settingsPanel/TableActions.svelte +12 -7
  231. package/package/components/apps/editor/settingsPanel/common/PanelSection.svelte +1 -1
  232. package/package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +2 -3
  233. package/package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte.d.ts +0 -1
  234. package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +63 -74
  235. package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -2
  236. package/package/components/apps/editor/settingsPanel/inputEditor/TabSelectInput.svelte +3 -7
  237. package/package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +5 -5
  238. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +2 -1
  239. package/package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +3 -3
  240. package/package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +4 -4
  241. package/package/components/apps/editor/settingsPanel/script/BackgroundScriptSettings.svelte +2 -0
  242. package/package/components/apps/editor/settingsPanel/script/ComponentScriptSettings.svelte +2 -2
  243. package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte +1 -1
  244. package/package/components/apps/editor/settingsPanel/script/shared/ScriptTransformer.svelte +2 -2
  245. package/package/components/apps/editor/settingsPanel/script/shared/ScriptTransformer.svelte.d.ts +7 -4
  246. package/package/components/apps/editor/settingsPanel/script/shared/ScriptTriggers.svelte +2 -2
  247. package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +2 -2
  248. package/package/components/apps/rx.d.ts +3 -3
  249. package/package/components/apps/rx.js +4 -5
  250. package/package/components/apps/svelte-select/lib/ChevronIcon.svelte +17 -0
  251. package/package/components/apps/svelte-select/lib/ChevronIcon.svelte.d.ts +23 -0
  252. package/package/components/apps/svelte-select/lib/ClearIcon.svelte +21 -0
  253. package/package/components/apps/svelte-select/lib/ClearIcon.svelte.d.ts +23 -0
  254. package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte +12 -0
  255. package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte.d.ts +18 -0
  256. package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte +9 -0
  257. package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte.d.ts +18 -0
  258. package/package/components/apps/svelte-select/lib/LoadingIcon.svelte +33 -0
  259. package/package/components/apps/svelte-select/lib/LoadingIcon.svelte.d.ts +23 -0
  260. package/package/components/apps/svelte-select/lib/Select.svelte +1129 -0
  261. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +205 -0
  262. package/package/components/apps/svelte-select/lib/filter.d.ts +13 -0
  263. package/package/components/apps/svelte-select/lib/filter.js +32 -0
  264. package/package/components/apps/svelte-select/lib/get-items.d.ts +11 -0
  265. package/package/components/apps/svelte-select/lib/get-items.js +30 -0
  266. package/package/components/apps/svelte-select/lib/index.d.ts +1 -0
  267. package/package/components/apps/svelte-select/lib/index.js +1 -0
  268. package/package/components/apps/svelte-select/lib/tailwind.css +130 -0
  269. package/package/components/apps/types.d.ts +6 -0
  270. package/package/components/apps/utils.d.ts +1 -5
  271. package/package/components/apps/utils.js +6 -34
  272. package/package/components/codeGen/ScriptFix.svelte +123 -0
  273. package/package/components/codeGen/ScriptFix.svelte.d.ts +22 -0
  274. package/package/components/codeGen/ScriptGen.svelte +218 -0
  275. package/package/components/codeGen/ScriptGen.svelte.d.ts +24 -0
  276. package/package/components/codeGen/index.d.ts +1 -0
  277. package/package/components/codeGen/index.js +1 -0
  278. package/package/components/codeGen/lib.d.ts +28 -0
  279. package/package/components/codeGen/lib.js +217 -0
  280. package/package/components/codeGen/prompts/edit.yaml +94 -0
  281. package/package/components/codeGen/prompts/fix.yaml +113 -0
  282. package/package/components/codeGen/prompts/gen.yaml +49 -0
  283. package/package/components/codeGen/prompts/index.d.ts +12 -0
  284. package/package/components/codeGen/prompts/index.js +7 -0
  285. package/package/components/codeGen/utils.d.ts +4 -0
  286. package/package/components/codeGen/utils.js +79 -0
  287. package/package/components/common/CloseButton.svelte +3 -3
  288. package/package/components/common/actionRow/ActionRow.svelte +1 -1
  289. package/package/components/common/alert/Alert.svelte +18 -18
  290. package/package/components/common/breadcrumb/Breadcrumb.svelte +1 -1
  291. package/package/components/common/button/Button.svelte +14 -14
  292. package/package/components/common/button/ButtonDropdown.svelte +2 -2
  293. package/package/components/common/calendarPicker/CalendarPicker.svelte +62 -0
  294. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +19 -0
  295. package/package/components/common/confirmationModal/ConfirmationModal.svelte +7 -5
  296. package/package/components/common/drawer/Drawer.svelte +5 -3
  297. package/package/components/common/drawer/DrawerContent.svelte +3 -2
  298. package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
  299. package/package/components/common/fileInput/FileInput.svelte +3 -3
  300. package/package/components/common/kbd/Kbd.svelte +1 -1
  301. package/package/components/common/languageIcons/LanguageIcon.svelte +22 -1
  302. package/package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  303. package/package/components/common/menu/Menu.svelte +1 -1
  304. package/package/components/common/menu/MenuItem.svelte +1 -1
  305. package/package/components/common/modal/AlwaysMountedModal.svelte +4 -4
  306. package/package/components/common/modal/Modal.svelte +3 -3
  307. package/package/components/common/popup/Popup.svelte +33 -157
  308. package/package/components/common/popup/Popup.svelte.d.ts +6 -45
  309. package/package/components/common/skeleton/SkeletonElement.svelte +1 -1
  310. package/package/components/common/stepper/Stepper.svelte +3 -3
  311. package/package/components/common/table/AppRow.svelte +36 -24
  312. package/package/components/common/table/FlowRow.svelte +13 -39
  313. package/package/components/common/table/RawAppRow.svelte +1 -15
  314. package/package/components/common/table/Row.svelte +22 -23
  315. package/package/components/common/table/RowIcon.svelte +7 -7
  316. package/package/components/common/table/ScriptRow.svelte +17 -41
  317. package/package/components/common/table/Table.svelte +1 -1
  318. package/package/components/common/tabs/Tab.svelte +1 -1
  319. package/package/components/common/tabs/Tabs.svelte +1 -4
  320. package/package/components/common/toggleButton-v2/ToggleButton.svelte +9 -2
  321. package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +1 -0
  322. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  323. package/package/components/details/ClipboardPanel.svelte +19 -0
  324. package/package/components/details/ClipboardPanel.svelte.d.ts +17 -0
  325. package/package/components/details/DetailPageDetailPanel.svelte +92 -0
  326. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +23 -0
  327. package/package/components/details/DetailPageHeader.svelte +66 -0
  328. package/package/components/details/DetailPageHeader.svelte.d.ts +29 -0
  329. package/package/components/details/DetailPageLayout.svelte +51 -0
  330. package/package/components/details/DetailPageLayout.svelte.d.ts +35 -0
  331. package/package/components/details/Menu.svelte +53 -0
  332. package/package/components/details/Menu.svelte.d.ts +18 -0
  333. package/package/components/details/WebhooksPanel.svelte +236 -0
  334. package/package/components/details/WebhooksPanel.svelte.d.ts +29 -0
  335. package/package/components/details/createAppFromScript.d.ts +719 -0
  336. package/package/components/details/createAppFromScript.js +723 -0
  337. package/package/components/details/utils.d.ts +8 -0
  338. package/package/components/details/utils.js +50 -0
  339. package/package/components/flows/FlowEditor.svelte +1 -1
  340. package/package/components/flows/common/FlowCardHeader.svelte +4 -4
  341. package/package/components/flows/content/CapturePayload.svelte +2 -2
  342. package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -1
  343. package/package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
  344. package/package/components/flows/content/FlowBranchesOneWrapper.svelte +2 -2
  345. package/package/components/flows/content/FlowConstants.svelte +43 -3
  346. package/package/components/flows/content/FlowEditorPanel.svelte +1 -1
  347. package/package/components/flows/content/FlowInputs.svelte +85 -34
  348. package/package/components/flows/content/FlowInputsFlow.svelte +2 -2
  349. package/package/components/flows/content/FlowLoop.svelte +29 -29
  350. package/package/components/flows/content/FlowModuleComponent.svelte +61 -1
  351. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +2 -0
  352. package/package/components/flows/content/FlowModuleConcurrencyLimit.svelte +51 -0
  353. package/package/components/flows/content/FlowModuleConcurrencyLimit.svelte.d.ts +17 -0
  354. package/package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
  355. package/package/components/flows/content/FlowModuleHeader.svelte +57 -37
  356. package/package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  357. package/package/components/flows/content/FlowModuleTimeout.svelte +43 -0
  358. package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +17 -0
  359. package/package/components/flows/content/FlowModuleWrapper.svelte +6 -0
  360. package/package/components/flows/content/FlowRetries.svelte +3 -3
  361. package/package/components/flows/content/FlowSchedules.svelte +1 -1
  362. package/package/components/flows/content/FlowSettings.svelte +102 -24
  363. package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
  364. package/package/components/flows/flowStateUtils.js +1 -1
  365. package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
  366. package/package/components/flows/idUtils.js +1 -1
  367. package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
  368. package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
  369. package/package/components/flows/map/FlowModuleSchemaItem.svelte +24 -12
  370. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  371. package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
  372. package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
  373. package/package/components/flows/map/InsertModuleButton.svelte +10 -10
  374. package/package/components/flows/map/MapItem.svelte +10 -6
  375. package/package/components/flows/map/VirtualItem.svelte +10 -8
  376. package/package/components/flows/map/VirtualItem.svelte.d.ts +1 -1
  377. package/package/components/flows/pickers/FlowScriptPicker.svelte +28 -21
  378. package/package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  379. package/package/components/flows/pickers/PickHubApp.svelte +3 -3
  380. package/package/components/flows/pickers/PickHubFlow.svelte +3 -3
  381. package/package/components/flows/pickers/PickHubScript.svelte +6 -6
  382. package/package/components/flows/pickers/WorkspaceScriptPicker.svelte +2 -2
  383. package/package/components/flows/utils.js +2 -1
  384. package/package/components/graph/FlowGraph.svelte +53 -34
  385. package/package/components/graph/svelvet/container/views/GraphView.svelte +12 -17
  386. package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -4
  387. package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +2 -2
  388. package/package/components/home/ItemsList.svelte +13 -9
  389. package/package/components/home/ListFilters.svelte +2 -1
  390. package/package/components/home/ListFilters.svelte.d.ts +1 -0
  391. package/package/components/home/NoItemFound.svelte +1 -1
  392. package/package/components/icons/BigQueryIcon.svelte +36 -0
  393. package/package/components/icons/BigQueryIcon.svelte.d.ts +17 -0
  394. package/package/components/icons/PowershellIcon.svelte +56 -0
  395. package/package/components/icons/PowershellIcon.svelte.d.ts +17 -0
  396. package/package/components/icons/RestIcon.svelte +21 -0
  397. package/package/components/icons/RestIcon.svelte.d.ts +17 -0
  398. package/package/components/jobs/JobDetail.svelte +21 -21
  399. package/package/components/jobs/JobPreview.svelte +6 -6
  400. package/package/components/preview/FlowPreviewStatus.svelte +2 -2
  401. package/package/components/progressBar/ProgressBar.svelte +2 -2
  402. package/package/components/propertyPicker/ObjectViewer.svelte +13 -18
  403. package/package/components/propertyPicker/PropPicker.svelte +5 -2
  404. package/package/components/scriptEditor/LogPanel.svelte +13 -4
  405. package/package/components/scriptEditor/LogPanel.svelte.d.ts +4 -0
  406. package/package/components/sidebar/DarkModeToggle.svelte +30 -0
  407. package/package/components/sidebar/DarkModeToggle.svelte.d.ts +17 -0
  408. package/package/components/sidebar/FavoriteMenu.svelte +4 -3
  409. package/package/components/sidebar/MenuLink.svelte +3 -2
  410. package/package/components/sidebar/MultiplayerMenu.svelte +2 -2
  411. package/package/components/sidebar/SidebarContent.svelte +9 -1
  412. package/package/components/sidebar/UserMenu.svelte +11 -10
  413. package/package/components/sidebar/WorkspaceMenu.svelte +11 -10
  414. package/package/components/theme/nord.json +93 -0
  415. package/package/defaults.d.ts +1 -0
  416. package/package/defaults.js +2 -1
  417. package/package/editorUtils.js +2 -0
  418. package/package/gen/core/CancelablePromise.js +1 -0
  419. package/package/gen/core/OpenAPI.d.ts +5 -5
  420. package/package/gen/core/OpenAPI.js +1 -1
  421. package/package/gen/core/request.d.ts +17 -0
  422. package/package/gen/core/request.js +27 -16
  423. package/package/gen/index.d.ts +43 -1
  424. package/package/gen/index.js +2 -0
  425. package/package/gen/models/AccountId.d.ts +1 -0
  426. package/package/gen/models/{Postgresql.js → AccountId.js} +1 -0
  427. package/package/gen/models/ActionKind.d.ts +9 -0
  428. package/package/gen/models/ActionKind.js +14 -0
  429. package/package/gen/models/After.d.ts +4 -0
  430. package/package/gen/models/After.js +5 -0
  431. package/package/gen/models/AppWithLastVersion.js +1 -0
  432. package/package/gen/models/AppWithLastVersionWDraft.js +1 -0
  433. package/package/gen/models/ArgsFilter.d.ts +4 -0
  434. package/package/gen/models/ArgsFilter.js +5 -0
  435. package/package/gen/models/AuditLog.js +1 -0
  436. package/package/gen/models/Before.d.ts +4 -0
  437. package/package/gen/models/Before.js +5 -0
  438. package/package/gen/models/BranchAll.js +1 -0
  439. package/package/gen/models/BranchOne.js +1 -0
  440. package/package/gen/models/ClientName.d.ts +1 -0
  441. package/package/gen/models/ClientName.js +5 -0
  442. package/package/gen/models/CompletedJob.d.ts +8 -4
  443. package/package/gen/models/CompletedJob.js +7 -2
  444. package/package/gen/models/ContextualVariable.js +1 -0
  445. package/package/gen/models/CreateInput.js +1 -0
  446. package/package/gen/models/CreateResource.js +1 -0
  447. package/package/gen/models/CreateVariable.js +1 -0
  448. package/package/gen/models/CreateWorkspace.js +1 -0
  449. package/package/gen/models/CreatedBy.d.ts +4 -0
  450. package/package/gen/models/CreatedBy.js +5 -0
  451. package/package/gen/models/EditResource.js +1 -0
  452. package/package/gen/models/EditResourceType.js +1 -0
  453. package/package/gen/models/EditSchedule.js +1 -0
  454. package/package/gen/models/EditVariable.js +1 -0
  455. package/package/gen/models/EditWorkspaceUser.js +1 -0
  456. package/package/gen/models/Flow.js +1 -0
  457. package/package/gen/models/FlowMetadata.d.ts +1 -0
  458. package/package/gen/models/FlowMetadata.js +1 -0
  459. package/package/gen/models/FlowModule.d.ts +1 -0
  460. package/package/gen/models/FlowModule.js +1 -0
  461. package/package/gen/models/FlowModuleValue.d.ts +1 -2
  462. package/package/gen/models/FlowModuleValue.js +1 -0
  463. package/package/gen/models/FlowPreview.d.ts +1 -0
  464. package/package/gen/models/FlowPreview.js +1 -0
  465. package/package/gen/models/FlowStatus.js +1 -0
  466. package/package/gen/models/FlowStatusModule.js +1 -0
  467. package/package/gen/models/FlowValue.js +1 -0
  468. package/package/gen/models/Folder.js +1 -0
  469. package/package/gen/models/ForloopFlow.js +1 -0
  470. package/package/gen/models/GlobalUserInfo.js +1 -0
  471. package/package/gen/models/Graphql.js +1 -0
  472. package/package/gen/models/Group.js +1 -0
  473. package/package/gen/models/Http.js +1 -0
  474. package/package/gen/models/Identity.js +1 -0
  475. package/package/gen/models/IncludeHeader.d.ts +6 -0
  476. package/package/gen/models/IncludeHeader.js +5 -0
  477. package/package/gen/models/Input.d.ts +1 -0
  478. package/package/gen/models/Input.js +1 -0
  479. package/package/gen/models/InputId.d.ts +1 -0
  480. package/package/gen/models/InputId.js +5 -0
  481. package/package/gen/models/InputTransform.js +1 -0
  482. package/package/gen/models/InstanceGroup.d.ts +4 -0
  483. package/package/gen/models/InstanceGroup.js +5 -0
  484. package/package/gen/models/JavascriptTransform.js +1 -0
  485. package/package/gen/models/Job.js +1 -0
  486. package/package/gen/models/JobId.d.ts +1 -0
  487. package/package/gen/models/JobId.js +5 -0
  488. package/package/gen/models/JobKinds.d.ts +4 -0
  489. package/package/gen/models/JobKinds.js +5 -0
  490. package/package/gen/models/ListableApp.js +1 -0
  491. package/package/gen/models/ListableRawApp.js +1 -0
  492. package/package/gen/models/ListableResource.js +1 -0
  493. package/package/gen/models/ListableVariable.js +1 -0
  494. package/package/gen/models/Login.js +1 -0
  495. package/package/gen/models/MainArgSignature.js +1 -0
  496. package/package/gen/models/Name.d.ts +1 -0
  497. package/package/gen/models/Name.js +5 -0
  498. package/package/gen/models/NewJobId.d.ts +4 -0
  499. package/package/gen/models/NewJobId.js +5 -0
  500. package/package/gen/models/NewSchedule.js +1 -0
  501. package/package/gen/models/NewScript.d.ts +9 -1
  502. package/package/gen/models/NewScript.js +7 -0
  503. package/package/gen/models/NewScriptWithDraft.js +1 -0
  504. package/package/gen/models/NewToken.js +1 -0
  505. package/package/gen/models/NewTokenImpersonate.js +1 -0
  506. package/package/gen/models/NewUser.js +1 -0
  507. package/package/gen/models/OpenFlow.js +1 -0
  508. package/package/gen/models/OpenFlowWPath.d.ts +1 -0
  509. package/package/gen/models/OpenFlowWPath.js +1 -0
  510. package/package/gen/models/Operation.d.ts +4 -0
  511. package/package/gen/models/Operation.js +5 -0
  512. package/package/gen/models/OrderDesc.d.ts +4 -0
  513. package/package/gen/models/OrderDesc.js +5 -0
  514. package/package/gen/models/Page.d.ts +4 -0
  515. package/package/gen/models/Page.js +5 -0
  516. package/package/gen/models/ParentJob.d.ts +4 -0
  517. package/package/gen/models/ParentJob.js +5 -0
  518. package/package/gen/models/Path.d.ts +1 -0
  519. package/package/gen/models/Path.js +5 -0
  520. package/package/gen/models/PathFlow.js +1 -0
  521. package/package/gen/models/PathId.d.ts +1 -0
  522. package/package/gen/models/PathId.js +5 -0
  523. package/package/gen/models/PathScript.js +1 -0
  524. package/package/gen/models/Payload.d.ts +6 -0
  525. package/package/gen/models/Payload.js +5 -0
  526. package/package/gen/models/PerPage.d.ts +4 -0
  527. package/package/gen/models/PerPage.js +5 -0
  528. package/package/gen/models/Policy.js +1 -0
  529. package/package/gen/models/Preview.d.ts +7 -3
  530. package/package/gen/models/Preview.js +7 -2
  531. package/package/gen/models/QueueLimit.d.ts +5 -0
  532. package/package/gen/models/QueueLimit.js +5 -0
  533. package/package/gen/models/QueuedJob.d.ts +8 -4
  534. package/package/gen/models/QueuedJob.js +7 -2
  535. package/package/gen/models/RawScript.d.ts +8 -1
  536. package/package/gen/models/RawScript.js +6 -0
  537. package/package/gen/models/Resource.js +1 -0
  538. package/package/gen/models/ResourceName.d.ts +4 -0
  539. package/package/gen/models/ResourceName.js +5 -0
  540. package/package/gen/models/ResourceType.js +1 -0
  541. package/package/gen/models/ResultFilter.d.ts +4 -0
  542. package/package/gen/models/ResultFilter.js +5 -0
  543. package/package/gen/models/Retry.js +1 -0
  544. package/package/gen/models/RunnableId.d.ts +1 -0
  545. package/package/gen/models/RunnableId.js +5 -0
  546. package/package/gen/models/RunnableType.js +1 -0
  547. package/package/gen/models/RunnableTypeQuery.d.ts +2 -0
  548. package/package/gen/models/RunnableTypeQuery.js +5 -0
  549. package/package/gen/models/Running.d.ts +4 -0
  550. package/package/gen/models/Running.js +5 -0
  551. package/package/gen/models/Schedule.js +1 -0
  552. package/package/gen/models/SchedulePath.d.ts +4 -0
  553. package/package/gen/models/SchedulePath.js +5 -0
  554. package/package/gen/models/ScheduleWJobs.js +1 -0
  555. package/package/gen/models/Script.d.ts +9 -1
  556. package/package/gen/models/Script.js +7 -0
  557. package/package/gen/models/ScriptArgs.js +1 -0
  558. package/package/gen/models/ScriptExactHash.d.ts +4 -0
  559. package/package/gen/models/ScriptExactHash.js +5 -0
  560. package/package/gen/models/ScriptExactPath.d.ts +4 -0
  561. package/package/gen/models/ScriptExactPath.js +5 -0
  562. package/package/gen/models/ScriptHash.d.ts +1 -0
  563. package/package/gen/models/ScriptHash.js +5 -0
  564. package/package/gen/models/ScriptPath.d.ts +1 -0
  565. package/package/gen/models/ScriptPath.js +5 -0
  566. package/package/gen/models/ScriptStartPath.d.ts +4 -0
  567. package/package/gen/models/ScriptStartPath.js +5 -0
  568. package/package/gen/models/SlackToken.js +1 -0
  569. package/package/gen/models/StartedAfter.d.ts +4 -0
  570. package/package/gen/models/StartedAfter.js +5 -0
  571. package/package/gen/models/StartedBefore.d.ts +4 -0
  572. package/package/gen/models/StartedBefore.js +5 -0
  573. package/package/gen/models/StaticTransform.js +1 -0
  574. package/package/gen/models/Success.d.ts +4 -0
  575. package/package/gen/models/Success.js +5 -0
  576. package/package/gen/models/Suspended.d.ts +4 -0
  577. package/package/gen/models/Suspended.js +5 -0
  578. package/package/gen/models/Tag.d.ts +4 -0
  579. package/package/gen/models/Tag.js +5 -0
  580. package/package/gen/models/Token.d.ts +1 -0
  581. package/package/gen/models/Token.js +5 -0
  582. package/package/gen/models/TokenResponse.js +1 -0
  583. package/package/gen/models/TruncatedToken.js +1 -0
  584. package/package/gen/models/UpdateInput.js +1 -0
  585. package/package/gen/models/Usage.js +1 -0
  586. package/package/gen/models/User.js +1 -0
  587. package/package/gen/models/UserWorkspaceList.js +1 -0
  588. package/package/gen/models/Username.d.ts +4 -0
  589. package/package/gen/models/Username.js +5 -0
  590. package/package/gen/models/VersionId.d.ts +1 -0
  591. package/package/gen/models/VersionId.js +5 -0
  592. package/package/gen/models/WorkerPing.d.ts +1 -0
  593. package/package/gen/models/WorkerPing.js +1 -0
  594. package/package/gen/models/Workspace.js +1 -0
  595. package/package/gen/models/WorkspaceId.d.ts +1 -0
  596. package/package/gen/models/WorkspaceId.js +5 -0
  597. package/package/gen/models/WorkspaceInvite.js +1 -0
  598. package/package/gen/services/GroupService.d.ts +15 -0
  599. package/package/gen/services/GroupService.js +25 -0
  600. package/package/gen/services/JobService.d.ts +2 -2
  601. package/package/gen/services/JobService.js +2 -2
  602. package/package/gen/services/OauthService.d.ts +5 -2
  603. package/package/gen/services/OauthService.js +1 -1
  604. package/package/gen/services/ScheduleService.d.ts +6 -1
  605. package/package/gen/services/ScheduleService.js +3 -1
  606. package/package/gen/services/ScriptService.d.ts +1 -1
  607. package/package/gen/services/UserService.d.ts +8 -0
  608. package/package/gen/services/UserService.js +14 -0
  609. package/package/gen/services/WorkspaceService.d.ts +38 -0
  610. package/package/gen/services/WorkspaceService.js +46 -0
  611. package/package/infer.d.ts +6 -2
  612. package/package/infer.js +55 -2
  613. package/package/script_helpers.d.ts +9 -3
  614. package/package/script_helpers.js +77 -57
  615. package/package/scripts.d.ts +3 -1
  616. package/package/scripts.js +26 -2
  617. package/package/stores.d.ts +3 -0
  618. package/package/stores.js +3 -0
  619. package/package/utils.d.ts +5 -3
  620. package/package/utils.js +19 -7
  621. package/package.json +23 -19
  622. package/package/components/common/table/LanguageBadge.svelte +0 -40
  623. package/package/components/common/table/LanguageBadge.svelte.d.ts +0 -17
  624. package/package/gen/models/Postgresql.d.ts +0 -3
@@ -0,0 +1,160 @@
1
+ <script>import { JobService, Preview } from '../gen';
2
+ import { dbSchema, workspaceStore } from '../stores';
3
+ import { sendUserToast } from '../toast';
4
+ import { onDestroy } from 'svelte';
5
+ import Button from './common/button/Button.svelte';
6
+ import Drawer from './common/drawer/Drawer.svelte';
7
+ import DrawerContent from './common/drawer/DrawerContent.svelte';
8
+ import ObjectViewer from './propertyPicker/ObjectViewer.svelte';
9
+ export let resourceType;
10
+ export let resourcePath = undefined;
11
+ let drawer;
12
+ const content = {
13
+ postgresql: `import { Client } from "https://deno.land/x/postgres@v0.17.0/mod.ts";
14
+ export async function main(args: any) {
15
+ // Create a new client with the provided connection details
16
+ const u = new URL("postgres://")
17
+ u.hash = ''
18
+ u.search = '?sslmode=' + args.sslmode
19
+ u.pathname = args.dbname
20
+ u.host = args.host
21
+ u.port = args.port
22
+ u.password = args.password
23
+ u.username = args.user
24
+ const client = new Client(u.toString())
25
+ // Connect to the postgres database
26
+ await client.connect();
27
+ const result = await client.queryObject(\`SELECT
28
+ table_name,
29
+ column_name,
30
+ udt_name,
31
+ column_default,
32
+ is_nullable,
33
+ table_schema
34
+ FROM
35
+ information_schema.columns
36
+ WHERE table_schema != 'pg_catalog' AND
37
+ table_schema != 'information_schema'\`);
38
+ const schemas = result.rows.reduce((acc, a) => {
39
+ const table_schema = a.table_schema;
40
+ delete a.table_schema;
41
+ acc[table_schema] = acc[table_schema] || [];
42
+ acc[table_schema].push(a);
43
+ return acc;
44
+ }, {});
45
+ const data = {};
46
+ for (const key in schemas) {
47
+ data[key] = schemas[key].reduce((acc, a) => {
48
+ const table_name = a.table_name;
49
+ delete a.table_name;
50
+ acc[table_name] = acc[table_name] || {};
51
+ const p = {
52
+ type: a.udt_name,
53
+ required: a.is_nullable === "NO",
54
+ }
55
+ if (a.column_default) {
56
+ p.default = a.column_default
57
+ }
58
+ acc[table_name][a.column_name] = p;
59
+ return acc;
60
+ }, {});
61
+ }
62
+ return data;
63
+ }`,
64
+ mysql: `import { Client } from "https://deno.land/x/mysql@v2.11.0/mod.ts";
65
+ export async function main(args: any) {
66
+ const conn = await new Client().connect({
67
+ hostname: args.host,
68
+ port: args.port,
69
+ username: args.user,
70
+ db: args.database,
71
+ password: args.password,
72
+ });
73
+ const result = await conn.execute(
74
+ "select TABLE_SCHEMA, TABLE_NAME, DATA_TYPE, COLUMN_NAME, COLUMN_DEFAULT from information_schema.columns where table_schema != 'information_schema'",
75
+ );
76
+ const schemas = result.rows.reduce((acc, a) => {
77
+ const table_schema = a.TABLE_SCHEMA;
78
+ delete a.TABLE_SCHEMA;
79
+ acc[table_schema] = acc[table_schema] || [];
80
+ acc[table_schema].push(a);
81
+ return acc;
82
+ }, {});
83
+ const data = {};
84
+ for (const key in schemas) {
85
+ data[key] = schemas[key].reduce((acc, a) => {
86
+ const table_name = a.TABLE_NAME;
87
+ delete a.TABLE_NAME;
88
+ acc[table_name] = acc[table_name] || {};
89
+ const p = {
90
+ type: a.DATA_TYPE,
91
+ required: a.is_nullable === "NO",
92
+ };
93
+ if (a.column_default) {
94
+ p.default = a.COLUMN_DEFAULT;
95
+ }
96
+ acc[table_name][a.COLUMN_NAME] = p;
97
+ return acc;
98
+ }, {});
99
+ }
100
+ return data;
101
+ }`
102
+ };
103
+ async function getSchema() {
104
+ if (!resourceType || !resourcePath)
105
+ return;
106
+ dbSchema.set(undefined);
107
+ try {
108
+ const job = await JobService.runScriptPreview({
109
+ workspace: $workspaceStore,
110
+ requestBody: {
111
+ language: 'deno',
112
+ content: content[resourceType],
113
+ args: {
114
+ args: '$res:' + resourcePath
115
+ }
116
+ }
117
+ });
118
+ await new Promise((r) => setTimeout(r, 3000));
119
+ const testResult = await JobService.getCompletedJob({
120
+ workspace: $workspaceStore,
121
+ id: job
122
+ });
123
+ if (testResult) {
124
+ if (!testResult.success) {
125
+ throw new Error('Could not query DB schema');
126
+ }
127
+ else {
128
+ dbSchema.set(testResult.result);
129
+ }
130
+ }
131
+ }
132
+ catch (err) {
133
+ console.error(err);
134
+ sendUserToast('Could not query DB schema', true);
135
+ }
136
+ }
137
+ $: resourcePath && resourceType && ['postgresql', 'mysql'].includes(resourceType) && getSchema();
138
+ $: !resourcePath && $dbSchema && dbSchema.set(undefined);
139
+ onDestroy(() => {
140
+ dbSchema.set(undefined);
141
+ });
142
+ </script>
143
+
144
+ {#if $dbSchema && resourcePath}
145
+ <Button
146
+ size="xs"
147
+ variant="border"
148
+ color="blue"
149
+ spacingSize="xs2"
150
+ btnClasses="mt-1"
151
+ on:click={drawer.openDrawer}
152
+ >
153
+ Explore DB schema
154
+ </Button>
155
+ <Drawer bind:this={drawer} size="800px">
156
+ <DrawerContent title="DB Schema Explorer" on:close={drawer.closeDrawer}>
157
+ <ObjectViewer json={$dbSchema} pureViewer />
158
+ </DrawerContent>
159
+ </Drawer>
160
+ {/if}
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ resourceType: string | undefined;
5
+ resourcePath?: String | undefined;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type DbSchemaExplorerProps = typeof __propDef.props;
13
+ export type DbSchemaExplorerEvents = typeof __propDef.events;
14
+ export type DbSchemaExplorerSlots = typeof __propDef.slots;
15
+ export default class DbSchemaExplorer extends SvelteComponentTyped<DbSchemaExplorerProps, DbSchemaExplorerEvents, DbSchemaExplorerSlots> {
16
+ }
17
+ export {};
@@ -0,0 +1,18 @@
1
+ <script>import { onMount, onDestroy } from 'svelte';
2
+ import { createEventDispatcher } from 'svelte';
3
+ const dispatch = createEventDispatcher();
4
+ let observer;
5
+ onMount(() => {
6
+ observer = new MutationObserver((mutationsList, observer) => {
7
+ for (let mutation of mutationsList) {
8
+ if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
9
+ dispatch('change', document.documentElement.classList.contains('dark'));
10
+ }
11
+ }
12
+ });
13
+ observer.observe(document.documentElement, { attributes: true });
14
+ });
15
+ onDestroy(() => {
16
+ observer.disconnect();
17
+ });
18
+ </script>
@@ -0,0 +1,16 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: Record<string, never>;
4
+ events: {
5
+ change: CustomEvent<any>;
6
+ } & {
7
+ [evt: string]: CustomEvent<any>;
8
+ };
9
+ slots: {};
10
+ };
11
+ export type DarkModeObserverProps = typeof __propDef.props;
12
+ export type DarkModeObserverEvents = typeof __propDef.events;
13
+ export type DarkModeObserverSlots = typeof __propDef.slots;
14
+ export default class DarkModeObserver extends SvelteComponentTyped<DarkModeObserverProps, DarkModeObserverEvents, DarkModeObserverSlots> {
15
+ }
16
+ export {};
@@ -487,7 +487,7 @@ async function showDiff(kind, path) {
487
487
  <div class="grid grid-cols-9 justify-center max-w-3xl gap-2">
488
488
  {#each dependencies ?? [] as { kind, path, include }}
489
489
  {@const statusPath = computeStatusPath(kind, path)}
490
- <div class="col-span-1 truncate text-gray-700 text-sm">{kind}</div><div
490
+ <div class="col-span-1 truncate text-secondary text-sm">{kind}</div><div
491
491
  class="col-span-5 truncate font-semibold">{path}</div
492
492
  ><div class="col-span-1"><Toggle size="xs" bind:checked={include} /></div><div
493
493
  class="col-span-1"
@@ -39,7 +39,9 @@ export function setDiff(local, remote) {
39
39
  {#if diffContent == undefined}
40
40
  <Loader2 class="animate-spin" />
41
41
  {:else}
42
- <pre class="border bg-white p-2"><code>{@html diffContent}</code></pre>
42
+ <pre class="border bg-surface-secondary p-2 whitespace-pre-wrap"
43
+ ><code>{@html diffContent}</code></pre
44
+ >
43
45
  <div class="flex flex-row-reverse gap-2">
44
46
  <div class="text-red-600">Removed</div>
45
47
  <div class="text-green-600">Added</div></div
@@ -0,0 +1,69 @@
1
+ <script>import { BROWSER } from 'esm-env';
2
+ import { onMount } from 'svelte';
3
+ import 'monaco-editor/esm/vs/editor/edcore.main';
4
+ import { editor as meditor } from 'monaco-editor/esm/vs/editor/editor.api';
5
+ import 'monaco-editor/esm/vs/basic-languages/python/python.contribution';
6
+ import 'monaco-editor/esm/vs/basic-languages/go/go.contribution';
7
+ import 'monaco-editor/esm/vs/basic-languages/shell/shell.contribution';
8
+ import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution';
9
+ import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution';
10
+ import 'monaco-editor/esm/vs/language/typescript/monaco.contribution';
11
+ const SIDE_BY_SIDE_MIN_WIDTH = 650;
12
+ export let automaticLayout = true;
13
+ export let fixedOverflowWidgets = true;
14
+ let diffEditor;
15
+ let diffDivEl = null;
16
+ let editorWidth = SIDE_BY_SIDE_MIN_WIDTH;
17
+ function loadDiffEditor() {
18
+ diffEditor = meditor.createDiffEditor(diffDivEl, {
19
+ automaticLayout,
20
+ renderSideBySide: editorWidth >= SIDE_BY_SIDE_MIN_WIDTH,
21
+ domReadOnly: true,
22
+ readOnly: true,
23
+ minimap: {
24
+ enabled: false
25
+ },
26
+ fixedOverflowWidgets,
27
+ scrollBeyondLastLine: false,
28
+ lineDecorationsWidth: 15,
29
+ lineNumbersMinChars: 2,
30
+ autoDetectHighContrast: true,
31
+ scrollbar: { alwaysConsumeMouseWheel: false }
32
+ });
33
+ }
34
+ export function setDiff(original, modified, lang) {
35
+ diffEditor?.setModel({
36
+ original: meditor.createModel(original, lang),
37
+ modified: meditor.createModel(modified, lang)
38
+ });
39
+ if (lang !== 'shell') {
40
+ diffEditor?.getModifiedEditor().getAction('editor.action.formatDocument')?.run();
41
+ }
42
+ }
43
+ export function getOriginal() {
44
+ return diffEditor?.getModel()?.original.getValue() ?? '';
45
+ }
46
+ export function getModified() {
47
+ return diffEditor?.getModel()?.modified.getValue() ?? '';
48
+ }
49
+ export function show() {
50
+ diffDivEl?.classList.remove('hidden');
51
+ }
52
+ export function hide() {
53
+ diffDivEl?.classList.add('hidden');
54
+ }
55
+ function onWidthChange(editorWidth) {
56
+ diffEditor?.updateOptions({ renderSideBySide: editorWidth >= SIDE_BY_SIDE_MIN_WIDTH });
57
+ }
58
+ $: onWidthChange(editorWidth);
59
+ onMount(() => {
60
+ if (BROWSER) {
61
+ loadDiffEditor();
62
+ return () => {
63
+ diffEditor?.dispose();
64
+ };
65
+ }
66
+ });
67
+ </script>
68
+
69
+ <div bind:this={diffDivEl} class="{$$props.class} editor" bind:clientWidth={editorWidth} />
@@ -0,0 +1,35 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import 'monaco-editor/esm/vs/editor/edcore.main';
3
+ import 'monaco-editor/esm/vs/basic-languages/python/python.contribution';
4
+ import 'monaco-editor/esm/vs/basic-languages/go/go.contribution';
5
+ import 'monaco-editor/esm/vs/basic-languages/shell/shell.contribution';
6
+ import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution';
7
+ import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution';
8
+ import 'monaco-editor/esm/vs/language/typescript/monaco.contribution';
9
+ declare const __propDef: {
10
+ props: {
11
+ [x: string]: any;
12
+ automaticLayout?: boolean | undefined;
13
+ fixedOverflowWidgets?: boolean | undefined;
14
+ setDiff?: ((original: string, modified: string, lang: 'typescript' | 'python' | 'go' | 'shell' | 'sql' | 'graphql' | 'javascript') => void) | undefined;
15
+ getOriginal?: (() => string) | undefined;
16
+ getModified?: (() => string) | undefined;
17
+ show?: (() => void) | undefined;
18
+ hide?: (() => void) | undefined;
19
+ };
20
+ events: {
21
+ [evt: string]: CustomEvent<any>;
22
+ };
23
+ slots: {};
24
+ };
25
+ export type DiffEditorProps = typeof __propDef.props;
26
+ export type DiffEditorEvents = typeof __propDef.events;
27
+ export type DiffEditorSlots = typeof __propDef.slots;
28
+ export default class DiffEditor extends SvelteComponentTyped<DiffEditorProps, DiffEditorEvents, DiffEditorSlots> {
29
+ get setDiff(): (original: string, modified: string, lang: "javascript" | "graphql" | "go" | "sql" | "typescript" | "python" | "shell") => void;
30
+ get getOriginal(): () => string;
31
+ get getModified(): () => string;
32
+ get show(): () => void;
33
+ get hide(): () => void;
34
+ }
35
+ export {};
@@ -6,10 +6,16 @@ import { Button, Drawer, DrawerContent } from './common';
6
6
  import { ClipboardCopy, Download, Expand } from 'lucide-svelte';
7
7
  import Portal from 'svelte-portal';
8
8
  import ObjectViewer from './propertyPicker/ObjectViewer.svelte';
9
+ import ScriptFix from './codeGen/ScriptFix.svelte';
9
10
  export let result;
10
11
  export let requireHtmlApproval = false;
11
12
  export let filename = undefined;
12
13
  export let disableExpand = false;
14
+ export let jobId = undefined;
15
+ export let workspaceId = undefined;
16
+ export let editor = undefined;
17
+ export let diffEditor = undefined;
18
+ export let lang = undefined;
13
19
  let resultKind;
14
20
  $: resultKind = inferResultKind(result);
15
21
  let forceJson = false;
@@ -31,6 +37,9 @@ function isRectangularArray(obj) {
31
37
  function asListOfList(obj) {
32
38
  return obj;
33
39
  }
40
+ function isObjectOfArray(result, keys) {
41
+ return keys.map((k) => Array.isArray(result[k])).reduce((a, b) => a && b);
42
+ }
34
43
  function inferResultKind(result) {
35
44
  if (result) {
36
45
  try {
@@ -38,7 +47,7 @@ function inferResultKind(result) {
38
47
  if (isRectangularArray(result)) {
39
48
  return 'table-row';
40
49
  }
41
- else if (keys.map((k) => Array.isArray(result[k])).reduce((a, b) => a && b)) {
50
+ else if (isObjectOfArray(result, keys)) {
42
51
  return 'table-col';
43
52
  }
44
53
  else if (keys.length == 1 && keys[0] == 'html') {
@@ -93,13 +102,13 @@ $: jsonStr = JSON.stringify(result, null, 4);
93
102
  <div class="inline-highlight">
94
103
  {#if result != undefined}
95
104
  {#if resultKind && resultKind != 'json'}
96
- <div class="mb-2 text-gray-500 text-sm bg-gray-50/20">
105
+ <div class="mb-2 text-tertiary text-sm bg-gray-50/20">
97
106
  as JSON&nbsp;<input class="windmillapp" type="checkbox" bind:checked={forceJson} /></div
98
107
  >{/if}{#if typeof result == 'object' && Object.keys(result).length > 0}<div
99
108
  class="mb-2 w-full text-sm relative"
100
109
  >The result keys are: <b>{truncate(Object.keys(result).join(', '), 50)}</b>
101
110
  {#if !disableExpand}
102
- <div class="text-gray-500 text-xs absolute top-5.5 right-0">
111
+ <div class="text-tertiary text-xs absolute top-5.5 right-0">
103
112
  <button on:click={jsonViewer.openDrawer}><Expand size={16} /></button>
104
113
  </div>
105
114
  {/if}
@@ -113,7 +122,7 @@ $: jsonStr = JSON.stringify(result, null, 4);
113
122
  </div>
114
123
  {#if Array.isArray(result[col])}
115
124
  {#each result[col] as item}
116
- <div class="px-12 text-left text-xs whitespace-nowrap">
125
+ <div class="px-12 text-left text-xs whitespace-nowrap overflow-auto pb-2">
117
126
  {typeof item === 'string' ? item : JSON.stringify(item)}
118
127
  </div>
119
128
  {/each}
@@ -147,7 +156,7 @@ $: jsonStr = JSON.stringify(result, null, 4);
147
156
  Warning
148
157
  </div>
149
158
  <p
150
- class="text-gray-600 mb-2 text-left border-2 !border-t-0 rounded-b border-red-400 overflow-auto p-1"
159
+ class="text-tertiary mb-2 text-left border-2 !border-t-0 rounded-b border-red-400 overflow-auto p-1"
151
160
  >Rendering HTML can expose you to <a
152
161
  href="https://owasp.org/www-community/attacks/xss/"
153
162
  target="_blank"
@@ -192,12 +201,15 @@ $: jsonStr = JSON.stringify(result, null, 4);
192
201
  href="data:application/octet-stream;base64,{result.file}">Download</a
193
202
  >
194
203
  </div>
195
- {:else if !forceJson && resultKind == 'error'}<div>
204
+ {:else if !forceJson && resultKind == 'error'}<div class="flex flex-col items-start">
196
205
  <span class="text-red-500 font-semibold text-sm whitespace-pre-wrap"
197
206
  >{#if result.error.name || result.error.message}{result.error.name}: {result.error
198
207
  .message}{:else}{JSON.stringify(result.error, null, 4)}{/if}</span
199
208
  >
200
- <pre class="text-sm whitespace-pre-wrap text-gray-900">{result.error.stack ?? ''}</pre>
209
+ <pre class="text-sm whitespace-pre-wrap text-primary">{result.error.stack ?? ''}</pre>
210
+ {#if lang && editor && diffEditor}
211
+ <ScriptFix error={JSON.stringify(result.error)} {lang} {editor} {diffEditor} />
212
+ {/if}
201
213
  </div>
202
214
  {:else if !forceJson && resultKind == 'approval'}<div class="flex flex-col gap-3 mt-8 mx-4">
203
215
  <Button
@@ -220,10 +232,12 @@ $: jsonStr = JSON.stringify(result, null, 4);
220
232
  </div>
221
233
  {:else}
222
234
  {#if jsonStr.length > 10000}
223
- <div class="text-sm mb-2 text-gray-600">
235
+ <div class="text-sm mb-2 text-tertiary">
224
236
  <a
225
237
  download="{filename ?? 'result'}.json"
226
- href="data:text/json;charset=utf-8,{encodeURIComponent(jsonStr)}">Download</a
238
+ href={workspaceId && jobId
239
+ ? `/api/w/${workspaceId}/jobs_u/completed/get_result/${jobId}`
240
+ : `data:text/json;charset=utf-8,${encodeURIComponent(jsonStr)}`}>Download</a
227
241
  >
228
242
  JSON is too large to be displayed in full.
229
243
  </div>
@@ -233,7 +247,7 @@ $: jsonStr = JSON.stringify(result, null, 4);
233
247
  {/if}
234
248
  {/if}
235
249
  {:else}
236
- <div class="text-gray-500 text-sm">No result: {jsonStr}</div>
250
+ <div class="text-tertiary text-sm">No result: {jsonStr}</div>
237
251
  {/if}
238
252
  </div>
239
253
 
@@ -243,9 +257,11 @@ $: jsonStr = JSON.stringify(result, null, 4);
243
257
  <DrawerContent title="Expanded Result" on:close={jsonViewer.closeDrawer}>
244
258
  <svelte:fragment slot="actions">
245
259
  <a
246
- class="text-sm text-gray-600 mr-2 inline-flex gap-2 items-center py-2 px-2 hover:bg-gray-100 rounded-lg"
260
+ class="text-sm text-secondary mr-2 inline-flex gap-2 items-center py-2 px-2 hover:bg-gray-100 rounded-lg"
247
261
  download="{filename ?? 'result'}.json"
248
- href="data:text/json;charset=utf-8,{encodeURIComponent(jsonStr)}"
262
+ href={workspaceId && jobId
263
+ ? `/api/w/${workspaceId}/jobs_u/completed/get_result/${jobId}`
264
+ : `data:text/json;charset=utf-8,${encodeURIComponent(jsonStr)}`}
249
265
  >Download <Download size={14} /></a
250
266
  >
251
267
  <Button on:click={() => copyToClipboard(jsonStr)} color="light" size="xs">
@@ -253,7 +269,7 @@ $: jsonStr = JSON.stringify(result, null, 4);
253
269
  </Button>
254
270
  </svelte:fragment>
255
271
  {#if jsonStr.length > 100000}
256
- <div class="text-sm mb-2 text-gray-600">
272
+ <div class="text-sm mb-2 text-tertiary">
257
273
  <a
258
274
  download="{filename ?? 'result'}.json"
259
275
  href="data:text/json;charset=utf-8,{encodeURIComponent(jsonStr)}">Download</a
@@ -1,10 +1,18 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
+ import type { Preview } from '../gen';
3
+ import type Editor from './Editor.svelte';
4
+ import type DiffEditor from './DiffEditor.svelte';
2
5
  declare const __propDef: {
3
6
  props: {
4
7
  result: any;
5
8
  requireHtmlApproval?: boolean | undefined;
6
9
  filename?: string | undefined;
7
10
  disableExpand?: boolean | undefined;
11
+ jobId?: string | undefined;
12
+ workspaceId?: string | undefined;
13
+ editor?: Editor | undefined;
14
+ diffEditor?: DiffEditor | undefined;
15
+ lang?: Preview.language | undefined;
8
16
  };
9
17
  events: {
10
18
  [evt: string]: CustomEvent<any>;
@@ -46,9 +46,9 @@ function computeDropdowns() {
46
46
  dispatch('click', { item: item?.eventName })
47
47
  }
48
48
  }}
49
- class="block w-full whitespace-nowrap hover:drop-shadow-sm hover:bg-gray-50 hover:bg-opacity-30
50
- px-4 py-2 text-sm text-gray-700 text-left
51
- {item.disabled ? 'bg-gray-200' : ''}
49
+ class="block w-full whitespace-nowrap hover:drop-shadow-sm hover:bg-surface-hover hover:bg-opacity-30
50
+ px-4 py-2 text-sm text-primary text-left
51
+ {item.disabled ? 'bg-surface-disabled' : ''}
52
52
  {item.separatorTop ? 'border-t' : ''} {item.separatorBottom ? 'border-b' : ''} {item.type ==
53
53
  'delete'
54
54
  ? 'text-red-500'
@@ -62,7 +62,7 @@ function computeDropdowns() {
62
62
  <Icon
63
63
  data={item.icon}
64
64
  scale={0.6}
65
- class="inline mr-2 {item.type == 'delete' ? 'text-red-500' : 'text-gray-700'}"
65
+ class="inline mr-2 {item.type == 'delete' ? 'text-red-500' : 'text-primary'}"
66
66
  />
67
67
  {/if}
68
68
  {item.displayName}
@@ -70,7 +70,7 @@ function computeDropdowns() {
70
70
  {:else if item.href && !item.disabled}
71
71
  <a
72
72
  href={item.href}
73
- class="block w-full px-4 font-semibold text-left py-2 text-sm text-gray-700 hover:drop-shadow-sm hover:bg-gray-50 hover:bg-opacity-30
73
+ class="block w-full px-4 font-semibold text-left py-2 text-sm text-secondary hover:drop-shadow-sm hover:bg-gray-50 hover:bg-opacity-30
74
74
  {item.disabled ? 'bg-gray-200' : ''}"
75
75
  role="menuitem"
76
76
  tabindex="-1"
@@ -81,7 +81,7 @@ function computeDropdowns() {
81
81
  <Icon
82
82
  data={item.icon}
83
83
  scale={0.6}
84
- class="inline mr-2 {item.type == 'delete' ? 'text-red-500' : 'text-gray-700'}"
84
+ class="inline mr-2 {item.type == 'delete' ? 'text-red-500' : 'text-secondary'}"
85
85
  />
86
86
  {/if}
87
87
  {item.displayName}
@@ -90,7 +90,7 @@ function computeDropdowns() {
90
90
  <!-- svelte-ignore a11y-click-events-have-key-events -->
91
91
  <span
92
92
  class:bg-gray-200={item.disabled}
93
- class="block font-semibold text-left px-4 py-2 text-sm text-gray-700 cursor-auto"
93
+ class="block font-semibold text-left px-4 py-2 text-sm text-secondary cursor-auto"
94
94
  role="menuitem"
95
95
  tabindex="-1"
96
96
  id="user-menu-item-{name}-{i}}"
@@ -100,7 +100,7 @@ function computeDropdowns() {
100
100
  <Icon
101
101
  data={item.icon}
102
102
  scale={0.6}
103
- class="inline mr-2 {item.type == 'delete' ? 'text-red-500' : 'text-gray-700'}"
103
+ class="inline mr-2 {item.type == 'delete' ? 'text-red-500' : 'text-secondary'}"
104
104
  />
105
105
  {/if}
106
106
  {item.displayName}