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,22 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { SupportedLanguage } from '../../common';
3
+ import type Editor from '../Editor.svelte';
4
+ import type DiffEditor from '../DiffEditor.svelte';
5
+ declare const __propDef: {
6
+ props: {
7
+ lang: SupportedLanguage;
8
+ editor: Editor | undefined;
9
+ diffEditor: DiffEditor | undefined;
10
+ error: string;
11
+ };
12
+ events: {
13
+ [evt: string]: CustomEvent<any>;
14
+ };
15
+ slots: {};
16
+ };
17
+ export type ScriptFixProps = typeof __propDef.props;
18
+ export type ScriptFixEvents = typeof __propDef.events;
19
+ export type ScriptFixSlots = typeof __propDef.slots;
20
+ export default class ScriptFix extends SvelteComponentTyped<ScriptFixProps, ScriptFixEvents, ScriptFixSlots> {
21
+ }
22
+ export {};
@@ -0,0 +1,218 @@
1
+ <script>import { Button } from '../common';
2
+ import { SUPPORTED_LANGUAGES, editScript, generateScript } from './lib';
3
+ import { sendUserToast } from '../../toast';
4
+ import { faCheck, faClose, faMagicWandSparkles } from '@fortawesome/free-solid-svg-icons';
5
+ import Popup from '../common/popup/Popup.svelte';
6
+ import { Icon } from 'svelte-awesome';
7
+ import { dbSchema, existsOpenaiResourcePath } from '../../stores';
8
+ import { scriptLangToEditorLang } from '../../scripts';
9
+ import Tooltip from '../Tooltip.svelte';
10
+ // props
11
+ export let iconOnly = false;
12
+ export let lang;
13
+ export let editor;
14
+ export let diffEditor;
15
+ export let inlineScript = false;
16
+ // state
17
+ let funcDesc = '';
18
+ let genLoading = false;
19
+ let openaiAvailable = undefined;
20
+ let button;
21
+ let input;
22
+ let generatedCode = '';
23
+ let selection;
24
+ let isEdit = false;
25
+ async function onGenerate() {
26
+ if (funcDesc.length <= 0) {
27
+ return;
28
+ }
29
+ try {
30
+ genLoading = true;
31
+ if (isEdit && selection) {
32
+ const selectedCode = editor?.getSelectedLines() || '';
33
+ const originalCode = editor?.getCode() || '';
34
+ const result = await editScript({
35
+ language: lang,
36
+ description: funcDesc,
37
+ selectedCode,
38
+ dbSchema: lang === 'postgresql' ? $dbSchema : undefined
39
+ });
40
+ generatedCode = originalCode.replace(selectedCode, result.code + '\n');
41
+ }
42
+ else {
43
+ const result = await generateScript({
44
+ language: lang,
45
+ description: funcDesc,
46
+ dbSchema: lang === 'postgresql' ? $dbSchema : undefined
47
+ });
48
+ generatedCode = result.code;
49
+ }
50
+ funcDesc = '';
51
+ }
52
+ catch (err) {
53
+ sendUserToast('Failed to generate code', true);
54
+ console.error(err);
55
+ }
56
+ finally {
57
+ genLoading = false;
58
+ }
59
+ }
60
+ function acceptDiff() {
61
+ editor?.setCode(diffEditor?.getModified() || '');
62
+ editor?.format();
63
+ generatedCode = '';
64
+ }
65
+ function rejectDiff() {
66
+ generatedCode = '';
67
+ }
68
+ function checkIfOpenaiAvailable(lang, existsOpenaiResourcePath) {
69
+ openaiAvailable = existsOpenaiResourcePath && SUPPORTED_LANGUAGES.has(lang);
70
+ }
71
+ function showDiff() {
72
+ diffEditor?.setDiff(editor?.getCode() || '', generatedCode, lang === 'frontend' ? 'javascript' : scriptLangToEditorLang(lang));
73
+ diffEditor?.show();
74
+ editor?.hide();
75
+ }
76
+ function hideDiff() {
77
+ editor?.show();
78
+ diffEditor?.hide();
79
+ }
80
+ function setSelectionHandler() {
81
+ editor?.onDidChangeCursorSelection((e) => {
82
+ selection = e.selection;
83
+ });
84
+ }
85
+ $: checkIfOpenaiAvailable(lang, $existsOpenaiResourcePath);
86
+ $: input?.focus();
87
+ $: lang && (generatedCode = '');
88
+ $: generatedCode && showDiff();
89
+ $: !generatedCode && hideDiff();
90
+ $: editor && setSelectionHandler();
91
+ $: selection && (isEdit = !selection.isEmpty());
92
+ </script>
93
+
94
+ {#if openaiAvailable}
95
+ {#if generatedCode}
96
+ {#if inlineScript}
97
+ <div class="flex gap-1">
98
+ <Button
99
+ title="Discard generated code"
100
+ btnClasses="!font-medium px-2 w-7"
101
+ size="xs"
102
+ color="red"
103
+ on:click={rejectDiff}
104
+ variant="contained"
105
+ >
106
+ <Icon data={faClose} />
107
+ </Button><Button
108
+ title="Accept generated code"
109
+ btnClasses="!font-medium px-2 w-7"
110
+ size="xs"
111
+ color="green"
112
+ on:click={acceptDiff}
113
+ >
114
+ <Icon data={faCheck} /></Button
115
+ >
116
+ </div>
117
+ {:else}
118
+ <div class="flex gap-1 px-2">
119
+ <Button
120
+ title="Discard generated code"
121
+ btnClasses="!font-medium px-2"
122
+ size="xs"
123
+ color="red"
124
+ on:click={rejectDiff}
125
+ variant="contained"
126
+ startIcon={{ icon: faClose }}
127
+ {iconOnly}
128
+ >
129
+ Discard
130
+ </Button><Button
131
+ title="Accept generated code"
132
+ btnClasses="!font-medium px-2"
133
+ size="xs"
134
+ color="green"
135
+ on:click={acceptDiff}
136
+ startIcon={{ icon: faCheck }}
137
+ {iconOnly}
138
+ >
139
+ Accept
140
+ </Button>
141
+ </div>
142
+ {/if}
143
+ {/if}
144
+ {#if !generatedCode}
145
+ <Popup floatingConfig={{ placement: 'bottom-end', strategy: 'absolute' }} let:close>
146
+ <svelte:fragment slot="button">
147
+ {#if inlineScript}
148
+ <Button
149
+ size="lg"
150
+ bind:element={button}
151
+ color="light"
152
+ btnClasses="!px-2 !bg-surface-secondary hover:!bg-surface-hover"
153
+ loading={genLoading}
154
+ nonCaptureEvent={true}
155
+ >
156
+ <Icon scale={0.8} data={faMagicWandSparkles} />
157
+ </Button>
158
+ {:else}
159
+ <Button
160
+ title="Generate code from prompt"
161
+ btnClasses="!font-medium text-secondary"
162
+ size="xs"
163
+ color="light"
164
+ spacingSize="md"
165
+ bind:element={button}
166
+ startIcon={{ icon: faMagicWandSparkles }}
167
+ {iconOnly}
168
+ loading={genLoading}
169
+ nonCaptureEvent={true}
170
+ >
171
+ {isEdit ? 'AI Edit' : 'AI Gen'}
172
+ </Button>
173
+ {/if}
174
+ </svelte:fragment>
175
+ <label class="block text-primary w-96">
176
+ <div class="flex w-full">
177
+ <input
178
+ type="text"
179
+ bind:this={input}
180
+ bind:value={funcDesc}
181
+ class="!w-auto grow"
182
+ on:keypress={({ key }) => {
183
+ if (key === 'Enter' && funcDesc.length > 0) {
184
+ close(input || null)
185
+ onGenerate()
186
+ }
187
+ }}
188
+ placeholder={isEdit
189
+ ? 'Describe the changes you want'
190
+ : 'Describe what the script should do'}
191
+ />
192
+ <Button
193
+ size="xs"
194
+ color="blue"
195
+ buttonType="button"
196
+ btnClasses="!p-1 !w-[38px] !ml-2"
197
+ aria-label="Generate"
198
+ on:click={() => {
199
+ close(input || null)
200
+ onGenerate()
201
+ }}
202
+ disabled={funcDesc.length <= 0}
203
+ >
204
+ <Icon data={faMagicWandSparkles} />
205
+ </Button>
206
+ </div>
207
+ {#if lang === 'postgresql' && $dbSchema}
208
+ <p class="text-sm mt-2">
209
+ Will take into account the DB schema
210
+ <Tooltip>
211
+ In order to better generate the script, we pass the selected DB schema to GPT-4.
212
+ </Tooltip>
213
+ </p>
214
+ {/if}
215
+ </label>
216
+ </Popup>
217
+ {/if}
218
+ {/if}
@@ -0,0 +1,24 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { SupportedLanguage } from '../../common';
3
+ import type Editor from '../Editor.svelte';
4
+ import type DiffEditor from '../DiffEditor.svelte';
5
+ import type SimpleEditor from '../SimpleEditor.svelte';
6
+ declare const __propDef: {
7
+ props: {
8
+ iconOnly?: boolean | undefined;
9
+ lang: SupportedLanguage | 'frontend';
10
+ editor: Editor | SimpleEditor | undefined;
11
+ diffEditor: DiffEditor | undefined;
12
+ inlineScript?: boolean | undefined;
13
+ };
14
+ events: {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type ScriptGenProps = typeof __propDef.props;
20
+ export type ScriptGenEvents = typeof __propDef.events;
21
+ export type ScriptGenSlots = typeof __propDef.slots;
22
+ export default class ScriptGen extends SvelteComponentTyped<ScriptGenProps, ScriptGenEvents, ScriptGenSlots> {
23
+ }
24
+ export {};
@@ -0,0 +1 @@
1
+ export { default as ScriptGen } from './ScriptGen.svelte';
@@ -0,0 +1 @@
1
+ export { default as ScriptGen } from './ScriptGen.svelte';
@@ -0,0 +1,28 @@
1
+ import { Script } from '../../gen';
2
+ export declare const SUPPORTED_LANGUAGES: Set<string>;
3
+ interface BaseOptions {
4
+ language: Script.language | 'frontend';
5
+ dbSchema?: object;
6
+ }
7
+ interface ScriptGenerationOptions extends BaseOptions {
8
+ description: string;
9
+ dbSchema?: object;
10
+ }
11
+ interface EditScriptOptions extends ScriptGenerationOptions {
12
+ selectedCode: string;
13
+ }
14
+ interface FixScriptOpions extends BaseOptions {
15
+ code: string;
16
+ error: string;
17
+ }
18
+ export declare function generateScript(scriptOptions: ScriptGenerationOptions): Promise<{
19
+ code: string;
20
+ }>;
21
+ export declare function editScript(scriptOptions: EditScriptOptions): Promise<{
22
+ code: string;
23
+ }>;
24
+ export declare function fixScript(scriptOptions: FixScriptOpions): Promise<{
25
+ code: string;
26
+ explanation: string;
27
+ }>;
28
+ export {};
@@ -0,0 +1,217 @@
1
+ import { OpenAI } from 'openai';
2
+ import { OpenAPI } from '../../gen/core/OpenAPI';
3
+ import { ResourceService, Script, WorkspaceService } from '../../gen';
4
+ import { existsOpenaiResourcePath, workspaceStore } from '../../stores';
5
+ import { formatResourceTypes } from './utils';
6
+ import { EDIT_CONFIG, FIX_CONFIG, GEN_CONFIG } from './prompts';
7
+ const WARNING_MSG = 'WARNING: this code was generated by OpenAI, it might not be accurate. Use at your own risk.';
8
+ const COMMENT_TYPES = {
9
+ [Script.language.PYTHON3]: '#',
10
+ [Script.language.DENO]: '//',
11
+ [Script.language.GO]: '//',
12
+ [Script.language.BASH]: '#',
13
+ [Script.language.POSTGRESQL]: '--',
14
+ [Script.language.MYSQL]: '--',
15
+ [Script.language.NATIVETS]: '//',
16
+ [Script.language.BUN]: '//',
17
+ frontend: '//'
18
+ };
19
+ export const SUPPORTED_LANGUAGES = new Set(Object.keys(GEN_CONFIG.prompts));
20
+ let workspace = undefined;
21
+ workspaceStore.subscribe(async (value) => {
22
+ workspace = value;
23
+ if (workspace) {
24
+ try {
25
+ existsOpenaiResourcePath.set(await WorkspaceService.existsOpenaiResourcePath({ workspace }));
26
+ }
27
+ catch (err) {
28
+ existsOpenaiResourcePath.set(false);
29
+ console.error('Could not get if OpenAI resource exists');
30
+ }
31
+ }
32
+ });
33
+ async function addResourceTypes(scriptOptions, workspace, prompt) {
34
+ if (['deno', 'bun', 'nativets'].includes(scriptOptions.language)) {
35
+ const resourceTypes = await ResourceService.listResourceType({ workspace });
36
+ const resourceTypesText = formatResourceTypes(resourceTypes, 'typescript');
37
+ prompt = prompt.replace('{resourceTypes}', resourceTypesText);
38
+ }
39
+ else if (scriptOptions.language === 'python3') {
40
+ const resourceTypes = await ResourceService.listResourceType({ workspace });
41
+ const resourceTypesText = formatResourceTypes(resourceTypes, 'python3');
42
+ prompt = prompt.replace('{resourceTypes}', resourceTypesText);
43
+ }
44
+ return prompt;
45
+ }
46
+ function addDBSChema(scriptOptions, prompt) {
47
+ if (['mysql', 'postgresql'].includes(scriptOptions.language) && scriptOptions.dbSchema) {
48
+ const { dbSchema } = scriptOptions;
49
+ const smallerSchema = {};
50
+ for (const schemaKey in dbSchema) {
51
+ for (const tableKey in dbSchema[schemaKey]) {
52
+ smallerSchema[tableKey] = [];
53
+ for (const colKey in dbSchema[schemaKey][tableKey]) {
54
+ const col = dbSchema[schemaKey][tableKey][colKey];
55
+ const p = [colKey, col.type, col.required];
56
+ if (col.default) {
57
+ p.push(col.default);
58
+ }
59
+ smallerSchema[tableKey].push(p);
60
+ }
61
+ }
62
+ }
63
+ prompt =
64
+ prompt +
65
+ "\nHere's the database schema, each column is in the format [name, type, required, default?]: " +
66
+ JSON.stringify(smallerSchema);
67
+ }
68
+ return prompt;
69
+ }
70
+ export async function generateScript(scriptOptions) {
71
+ if (!workspace) {
72
+ throw new Error('No workspace selected');
73
+ }
74
+ const baseURL = `${location.origin}${OpenAPI.BASE}/w/${workspace}/openai/proxy`;
75
+ const openai = new OpenAI({
76
+ baseURL,
77
+ apiKey: 'fakekey',
78
+ defaultHeaders: {
79
+ Authorization: ''
80
+ }
81
+ });
82
+ let prompt = GEN_CONFIG.prompts[scriptOptions.language].prompt.replace('{description}', scriptOptions.description);
83
+ prompt = await addResourceTypes(scriptOptions, workspace, prompt);
84
+ prompt = addDBSChema(scriptOptions, prompt);
85
+ const completion = await openai.chat.completions.create({
86
+ model: 'gpt-4',
87
+ max_tokens: 2048,
88
+ messages: [
89
+ {
90
+ role: 'system',
91
+ content: GEN_CONFIG.system
92
+ },
93
+ {
94
+ role: 'user',
95
+ content: prompt
96
+ }
97
+ ]
98
+ });
99
+ const result = completion.choices[0]?.message?.content;
100
+ if (!result) {
101
+ throw new Error('No result from OpenAI');
102
+ }
103
+ const match = result.match(/```[a-zA-z]+\n([\s\S]*?)\n```/);
104
+ if (!match || match.length < 2) {
105
+ throw new Error('No code block found');
106
+ }
107
+ const code = match[1];
108
+ if (scriptOptions.language == Script.language.GO) {
109
+ const warning = COMMENT_TYPES[scriptOptions.language] + ' ' + WARNING_MSG + '\n';
110
+ return { code: code.trim().replace('package inner\n', 'package inner\n' + warning) };
111
+ }
112
+ else if (scriptOptions.language == Script.language.BASH) {
113
+ return {
114
+ code: '# shellcheck shell=bash\n' +
115
+ COMMENT_TYPES[scriptOptions.language] +
116
+ ' ' +
117
+ WARNING_MSG +
118
+ '\n\n' +
119
+ code.trim()
120
+ };
121
+ }
122
+ else {
123
+ return {
124
+ code: COMMENT_TYPES[scriptOptions.language] + ' ' + WARNING_MSG + '\n\n' + code.trim()
125
+ };
126
+ }
127
+ }
128
+ export async function editScript(scriptOptions) {
129
+ if (!workspace) {
130
+ throw new Error('No workspace selected');
131
+ }
132
+ const baseURL = `${location.origin}${OpenAPI.BASE}/w/${workspace}/openai/proxy`;
133
+ const openai = new OpenAI({
134
+ baseURL,
135
+ apiKey: 'fakekey',
136
+ defaultHeaders: {
137
+ Authorization: ''
138
+ }
139
+ });
140
+ let prompt = EDIT_CONFIG.prompts[scriptOptions.language].prompt
141
+ .replace('{code}', scriptOptions.selectedCode)
142
+ .replace('{description}', scriptOptions.description);
143
+ prompt = await addResourceTypes(scriptOptions, workspace, prompt);
144
+ prompt = addDBSChema(scriptOptions, prompt);
145
+ const completion = await openai.chat.completions.create({
146
+ model: 'gpt-4',
147
+ max_tokens: 2048,
148
+ messages: [
149
+ {
150
+ role: 'system',
151
+ content: EDIT_CONFIG.system
152
+ },
153
+ {
154
+ role: 'user',
155
+ content: prompt
156
+ }
157
+ ],
158
+ temperature: 0.5
159
+ });
160
+ const result = completion.choices[0]?.message?.content;
161
+ if (!result) {
162
+ throw new Error('No result from OpenAI');
163
+ }
164
+ const match = result.match(/```[a-zA-z]+\n([\s\S]*?)\n```/);
165
+ if (!match || match.length < 2) {
166
+ throw new Error('No code block found');
167
+ }
168
+ const code = match[1];
169
+ return { code };
170
+ }
171
+ export async function fixScript(scriptOptions) {
172
+ if (!workspace) {
173
+ throw new Error('No workspace selected');
174
+ }
175
+ const baseURL = `${location.origin}${OpenAPI.BASE}/w/${workspace}/openai/proxy`;
176
+ const openai = new OpenAI({
177
+ baseURL,
178
+ apiKey: 'fakekey',
179
+ defaultHeaders: {
180
+ Authorization: ''
181
+ }
182
+ });
183
+ let prompt = FIX_CONFIG.prompts[scriptOptions.language].prompt
184
+ .replace('{code}', scriptOptions.code)
185
+ .replace('{error}', scriptOptions.error);
186
+ prompt = await addResourceTypes(scriptOptions, workspace, prompt);
187
+ prompt = addDBSChema(scriptOptions, prompt);
188
+ const completion = await openai.chat.completions.create({
189
+ model: 'gpt-4',
190
+ max_tokens: 2048,
191
+ messages: [
192
+ {
193
+ role: 'system',
194
+ content: FIX_CONFIG.system
195
+ },
196
+ {
197
+ role: 'user',
198
+ content: prompt
199
+ }
200
+ ]
201
+ });
202
+ const result = completion.choices[0]?.message?.content;
203
+ if (!result) {
204
+ throw new Error('No result from OpenAI');
205
+ }
206
+ const match = result.match(/```[a-zA-z]+\n([\s\S]*?)\n```/);
207
+ if (!match || match.length < 2) {
208
+ throw new Error('No code block found');
209
+ }
210
+ const explanationMatch = result.match(/explanation: "(.+)"/i);
211
+ let explanation = '';
212
+ if (explanationMatch && explanationMatch.length > 1) {
213
+ explanation = explanationMatch[1];
214
+ }
215
+ const code = match[1];
216
+ return { code, explanation };
217
+ }
@@ -0,0 +1,94 @@
1
+ system: |-
2
+ You write code as instructed by the user. Only output code. Wrap the code like that:
3
+ ```language
4
+ {code}
5
+ ```
6
+ Put explanations directly in the code as comments.
7
+ prompts:
8
+ python3:
9
+ prompt: |-
10
+ Here's my python3 code:
11
+ ```python
12
+ {code}
13
+ ```
14
+ Additional information: We have to export a "main" function and specify the parameter types but do not call it.
15
+ You have access to the following resource types, if you need them, you have to define the TypedDict exactly as specified (class name has to be IN LOWERCASE) and add them as parameters: {resourceTypes}
16
+ Only use the ones you need. If the TypedDict name conflicts with the imported object, rename the imported object NOT THE TYPE.
17
+ My instructions: {description}
18
+ deno:
19
+ prompt: |-
20
+ Here's my typescript code in a deno running environement:
21
+ ```typescript
22
+ {code}
23
+ ```
24
+ Additional information: We have to export a "main" function like this: "export async function main(...)" and specify the parameter types but do not call it.
25
+ You have access to the following resource types, if you need them, you have to define the type exactly as specified and add them as parameters: {resourceTypes}
26
+ Only use the ones you need. If the type name conflicts with the imported object, rename the imported object NOT THE TYPE.
27
+ My instructions: {description}
28
+ go:
29
+ prompt: |-
30
+ Here's my go code:
31
+ ```go
32
+ {code}
33
+ ```
34
+ Additional information: We have to export a "main" function. Import the packages you need. The return type of the function has to be ({return_type}, error). The file package has to be "inner"
35
+ My instructions: {description}
36
+ bash:
37
+ prompt: |-
38
+ Here's my bash code:
39
+ ```shell
40
+ {code}
41
+ ```
42
+ Additional information: Do not include "#!/bin/bash". Arguments are always string and can only be obtained with "var1="$1"", "var2="$2"", etc... You do not need to check if the arguments are present.
43
+ My instructions: {description}
44
+ postgresql:
45
+ prompt: |-
46
+ Here's my PostgreSQL code:
47
+ ```sql
48
+ {code}
49
+ ```
50
+ Additional information: Arguments can be obtained directly in the statement with `$1::{type}`, `$2::{type}`, etc... Name the parameters by adding comments before the command like that: `-- $1 name1` or `-- $2 name = default` (one per row, do not include the type)
51
+ My instructions: {description}
52
+ mysql:
53
+ prompt: |-
54
+ Here's my MySQL code:
55
+ ```sql
56
+ {code}
57
+ ```
58
+ Additional information: Arguments can be obtained directly in the statement with ?. Name the parameters by adding comments before the command like that: -- ? name1 ({type}) (one per row)
59
+ My instructions: {description}
60
+ nativets:
61
+ prompt: |-
62
+ Here's my typescript code:
63
+ ```typescript
64
+ {code}
65
+ ```
66
+ Additional information: We have to export a "main" function like this: "export async function main(...)" and specify the parameter types but do not call it.
67
+ You should use fetch and are not allowed to import any libraries.
68
+ You have access to the following resource types, if you need them, you have to define the type exactly as specified and add them as parameters: {resourceTypes}
69
+ Only use the ones you need. If the type name conflicts with the imported object, rename the imported object NOT THE TYPE.
70
+ My instructions: {description}
71
+ bun:
72
+ prompt: |-
73
+ Here's my typescript code in a node.js running environment:
74
+ ```typescript
75
+ {code}
76
+ ```
77
+ Additional information: We have to export a "main" function like this: "export async function main(...)" and specify the parameter types but do not call it.
78
+ You have access to the following resource types, if you need them, you have to define the type exactly as specified and add them as parameters: {resourceTypes}
79
+ Only use the ones you need. If the type name conflicts with the imported object, rename the imported object NOT THE TYPE.
80
+ My instructions: {description}
81
+ frontend:
82
+ prompt: |-
83
+ Here's my client-side javascript code:
84
+ ```typescript
85
+ {code}
86
+ ```
87
+ Additional information: You can access the context object with the ctx global variable.
88
+ The app state is a store that can be used to store data. You can access and update the state object with the state global variable like this: state.foo = 'bar'
89
+ You can use the goto function to navigate to a specific URL: goto(path: string, newTab?: boolean)
90
+ Use the setTab function to manually set the tab of a Tab component: setTab(id: string, index: string)
91
+ Use the recompute function to recompute a component: recompute(id: string)
92
+ Use the getAgGrid function to get the ag-grid instance of a table: getAgGrid(id: string)
93
+ The setValue function is meant to set or force the value of a component: setValue(id: string, value: any).
94
+ My instructions: {description}