windmill-components 1.613.5 → 1.623.1

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 (429) hide show
  1. package/package/assets/tokens/tokens.json +1 -11
  2. package/package/ata/apis.js +5 -78
  3. package/package/components/AddUser.svelte +1 -1
  4. package/package/components/CenteredModal.svelte +24 -32
  5. package/package/components/CenteredModal.svelte.d.ts +27 -7
  6. package/package/components/CenteredPage.svelte +2 -5
  7. package/package/components/CenteredPage.svelte.d.ts +0 -2
  8. package/package/components/ConcurrentJobsChart.svelte +2 -3
  9. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  10. package/package/components/CustomPopover.svelte +23 -20
  11. package/package/components/CustomPopover.svelte.d.ts +39 -14
  12. package/package/components/DBManager.svelte +17 -105
  13. package/package/components/DBManager.svelte.d.ts +1 -2
  14. package/package/components/DBManagerContent.svelte +3 -4
  15. package/package/components/DBManagerContent.svelte.d.ts +1 -1
  16. package/package/components/DBTableEditor.svelte +171 -210
  17. package/package/components/DBTableEditor.svelte.d.ts +3 -22
  18. package/package/components/Description.svelte +2 -3
  19. package/package/components/Dev.svelte +2 -36
  20. package/package/components/DiffDrawer.svelte +29 -8
  21. package/package/components/DiffEditor.svelte +2 -32
  22. package/package/components/DisplayResult.svelte +24 -32
  23. package/package/components/Editor.svelte +16 -70
  24. package/package/components/Editor.svelte.d.ts +0 -3
  25. package/package/components/EditorBar.svelte +1 -1
  26. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  27. package/package/components/FlowBuilder.svelte +11 -17
  28. package/package/components/FlowPreviewContent.svelte +2 -3
  29. package/package/components/FlowPreviewResult.svelte +4 -0
  30. package/package/components/FlowRestartButton.svelte +3 -2
  31. package/package/components/FlowRestartButton.svelte.d.ts +0 -3
  32. package/package/components/FlowStatusViewerInner.svelte +33 -50
  33. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  34. package/package/components/FlowStatusWaitingForEvents.svelte +23 -27
  35. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +18 -4
  36. package/package/components/FlowViewer.svelte +2 -103
  37. package/package/components/FlowViewer.svelte.d.ts +3 -9
  38. package/package/components/ForkWorkspaceBanner.svelte +13 -16
  39. package/package/components/GraphqlSchemaViewer.svelte +1 -8
  40. package/package/components/HistoricInputs.svelte +27 -25
  41. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  42. package/package/components/InstanceSetting.svelte +0 -38
  43. package/package/components/InviteUser.svelte +42 -16
  44. package/package/components/InviteUser.svelte.d.ts +18 -4
  45. package/package/components/JsonInputs.svelte +8 -6
  46. package/package/components/JsonInputs.svelte.d.ts +8 -7
  47. package/package/components/LogViewer.svelte +33 -91
  48. package/package/components/Login.svelte +0 -21
  49. package/package/components/ManualPopover.svelte +6 -5
  50. package/package/components/ManualPopover.svelte.d.ts +35 -9
  51. package/package/components/MemoryFootprintViewer.svelte +6 -2
  52. package/package/components/ModulePreview.svelte +21 -23
  53. package/package/components/ModulePreview.svelte.d.ts +0 -1
  54. package/package/components/OAuthSetting.svelte +11 -23
  55. package/package/components/Path.svelte +2 -2
  56. package/package/components/Path.svelte.d.ts +1 -1
  57. package/package/components/ResourcePicker.svelte +0 -3
  58. package/package/components/ResourcePicker.svelte.d.ts +0 -1
  59. package/package/components/RunButton.svelte +15 -5
  60. package/package/components/RunButton.svelte.d.ts +19 -7
  61. package/package/components/RunChart.svelte +4 -8
  62. package/package/components/RunChart.svelte.d.ts +2 -2
  63. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  64. package/package/components/RunsPage.svelte +539 -170
  65. package/package/components/RunsPage.svelte.d.ts +5 -5
  66. package/package/components/S3FilePicker.svelte +11 -7
  67. package/package/components/S3FilePickerInner.svelte +3 -2
  68. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  69. package/package/components/SavedInputs.svelte +416 -0
  70. package/package/components/{tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts → SavedInputs.svelte.d.ts} +11 -8
  71. package/package/components/SchemaForm.svelte +19 -26
  72. package/package/components/SchemaFormWithArgPicker.svelte +3 -4
  73. package/package/components/ScriptBuilder.svelte +1 -1
  74. package/package/components/ScriptEditor.svelte +101 -575
  75. package/package/components/Section.svelte +1 -3
  76. package/package/components/ServiceLogsInner.svelte +4 -4
  77. package/package/components/ShareModal.svelte.d.ts +1 -1
  78. package/package/components/SimpleEditor.svelte +2 -46
  79. package/package/components/SuperadminSettingsInner.svelte +1 -1
  80. package/package/components/TemplateEditor.svelte +29 -54
  81. package/package/components/TemplateEditor.svelte.d.ts +102 -13
  82. package/package/components/UserSettings.svelte +1 -1
  83. package/package/components/WorkerTagPicker.svelte +1 -1
  84. package/package/components/WorkerTagSelect.svelte +2 -5
  85. package/package/components/WorkspaceTutorials.svelte +0 -5
  86. package/package/components/apps/components/buttons/AppButton.svelte +6 -21
  87. package/package/components/apps/components/buttons/AppForm.svelte +1 -2
  88. package/package/components/apps/components/buttons/AppFormButton.svelte +1 -2
  89. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +4 -0
  90. package/package/components/apps/components/display/dbtable/metadata.js +30 -69
  91. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +24 -2
  92. package/package/components/apps/components/display/dbtable/queries/createTable.js +25 -11
  93. package/package/components/apps/components/display/dbtable/queries/select.d.ts +0 -2
  94. package/package/components/apps/components/display/dbtable/queries/select.js +6 -37
  95. package/package/components/apps/components/display/dbtable/utils.d.ts +1 -10
  96. package/package/components/apps/components/display/dbtable/utils.js +20 -52
  97. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  98. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  99. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  100. package/package/components/apps/components/helpers/RunnableComponent.svelte +2 -3
  101. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  102. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  103. package/package/components/apps/editor/AppEditorHeader.svelte +1 -8
  104. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +29 -32
  105. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  106. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  107. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  108. package/package/components/apps/editor/PublicApp.svelte +30 -49
  109. package/package/components/apps/editor/PublicApp.svelte.d.ts +0 -1
  110. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +7 -77
  111. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  112. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  113. package/package/components/apps/editor/inlineScriptsPanel/utils.js +1 -10
  114. package/package/components/apps/inputType.d.ts +1 -6
  115. package/package/components/auditLogs/AuditLogsFilters.svelte +17 -9
  116. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  117. package/package/components/common/button/model.js +1 -1
  118. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  119. package/package/components/common/languageIcons/TypeScript.svelte +3 -5
  120. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +0 -1
  121. package/package/components/common/modal/Modal.svelte +3 -3
  122. package/package/components/copilot/autocomplete/Autocompletor.js +2 -3
  123. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  124. package/package/components/copilot/chat/AIButtonStyle.js +1 -2
  125. package/package/components/copilot/chat/AIChat.svelte +1 -3
  126. package/package/components/copilot/chat/AIChatDisplay.svelte +4 -89
  127. package/package/components/copilot/chat/AIChatInput.svelte +0 -275
  128. package/package/components/copilot/chat/AIChatManager.svelte.js +1 -107
  129. package/package/components/copilot/chat/AiChatLayout.svelte +30 -15
  130. package/package/components/copilot/chat/ContextElementBadge.svelte +0 -44
  131. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +33 -32
  132. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  133. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -3
  134. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -4
  135. package/package/components/copilot/chat/app/core.d.ts +15 -56
  136. package/package/components/copilot/chat/app/core.js +22 -141
  137. package/package/components/copilot/chat/context.d.ts +2 -59
  138. package/package/components/copilot/chat/context.js +2 -6
  139. package/package/components/copilot/chat/flow/FlowAIChat.svelte +0 -22
  140. package/package/components/copilot/chat/flow/core.d.ts +1 -3
  141. package/package/components/copilot/chat/flow/core.js +2 -29
  142. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  143. package/package/components/copilot/chat/flow/openFlowZod.d.ts +0 -1
  144. package/package/components/copilot/chat/flow/openFlowZod.js +2 -14
  145. package/package/components/copilot/chat/script/core.d.ts +1 -4
  146. package/package/components/copilot/chat/script/core.js +2 -38
  147. package/package/components/copilot/chat/shared.d.ts +0 -10
  148. package/package/components/copilot/chat/shared.js +0 -24
  149. package/package/components/copilot/lib.d.ts +1 -1
  150. package/package/components/custom_ui.d.ts +0 -2
  151. package/package/components/dbOps.d.ts +4 -18
  152. package/package/components/dbOps.js +3 -25
  153. package/package/components/flows/CreateActionsApp.svelte +4 -6
  154. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  155. package/package/components/flows/FlowHistoryInner.svelte +4 -15
  156. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  157. package/package/components/flows/content/FlowInput.svelte +37 -211
  158. package/package/components/flows/content/FlowModuleComponent.svelte +67 -553
  159. package/package/components/flows/content/FlowModuleEarlyStop.svelte +10 -8
  160. package/package/components/flows/content/FlowModuleHeader.svelte +4 -7
  161. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  162. package/package/components/flows/content/McpToolEditor.svelte +37 -50
  163. package/package/components/flows/content/McpToolEditor.svelte.d.ts +1 -0
  164. package/package/components/flows/conversations/FlowChat.svelte +2 -16
  165. package/package/components/flows/conversations/FlowChat.svelte.d.ts +1 -2
  166. package/package/components/flows/conversations/FlowChatInterface.svelte +6 -103
  167. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +0 -2
  168. package/package/components/flows/conversations/FlowChatManager.svelte.js +21 -53
  169. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  170. package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -3
  171. package/package/components/flows/types.d.ts +0 -2
  172. package/package/components/git_sync/GitSyncRepositoryCard.svelte +8 -16
  173. package/package/components/home/ItemsList.svelte +5 -5
  174. package/package/components/home/TutorialBanner.svelte +18 -34
  175. package/package/components/icons/CssIcon.svelte +0 -20
  176. package/package/components/icons/CssIcon.svelte.d.ts +25 -7
  177. package/package/components/icons/JavaScriptIcon.svelte +2 -10
  178. package/package/components/icons/JavaScriptIcon.svelte.d.ts +0 -1
  179. package/package/components/icons/JsonIcon.svelte +2 -8
  180. package/package/components/icons/JsonIcon.svelte.d.ts +0 -1
  181. package/package/components/icons/ReactIcon.svelte +2 -10
  182. package/package/components/icons/ReactIcon.svelte.d.ts +0 -1
  183. package/package/components/icons/SvelteIcon.svelte +2 -10
  184. package/package/components/icons/SvelteIcon.svelte.d.ts +0 -1
  185. package/package/components/icons/VueIcon.svelte +2 -10
  186. package/package/components/icons/VueIcon.svelte.d.ts +0 -1
  187. package/package/components/instanceSettings.d.ts +1 -2
  188. package/package/components/instanceSettings.js +1 -32
  189. package/package/components/jobs/JobPreview.svelte +39 -46
  190. package/package/components/jobs/JobPreview.svelte.d.ts +0 -1
  191. package/package/components/monacoLanguagesOptions.js +15 -16
  192. package/package/components/propertyPicker/PropPicker.svelte +2 -16
  193. package/package/components/propertyPicker/PropPicker.svelte.d.ts +0 -2
  194. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +5 -9
  195. package/package/components/raw_apps/FileEditorIcon.svelte +7 -12
  196. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +0 -2
  197. package/package/components/raw_apps/FileTreeNode.svelte +83 -119
  198. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +8 -88
  199. package/package/components/raw_apps/RawAppDataTableList.svelte +9 -12
  200. package/package/components/raw_apps/RawAppEditor.svelte +68 -218
  201. package/package/components/raw_apps/RawAppEditorHeader.svelte +16 -33
  202. package/package/components/raw_apps/RawAppHistoryList.svelte +80 -264
  203. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +0 -1
  204. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +1 -15
  205. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +12 -46
  206. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +47 -549
  207. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +5 -31
  208. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +18 -25
  209. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +0 -1
  210. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +10 -141
  211. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +0 -8
  212. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +1 -2
  213. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +1 -9
  214. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +3 -47
  215. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  216. package/package/components/raw_apps/RawAppModules.svelte +7 -13
  217. package/package/components/raw_apps/RawAppPreview.svelte +6 -48
  218. package/package/components/raw_apps/RawAppSidebar.svelte +125 -194
  219. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +0 -1
  220. package/package/components/raw_apps/utils.d.ts +1 -1
  221. package/package/components/raw_apps/utils.js +18 -76
  222. package/package/components/runs/JobsLoader.svelte +468 -0
  223. package/package/components/runs/JobsLoader.svelte.d.ts +49 -0
  224. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  225. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  226. package/package/components/runs/NoWorkerWithTagWarning.svelte +1 -5
  227. package/package/components/runs/RunsFilter.svelte +63 -75
  228. package/package/components/runs/RunsFilter.svelte.d.ts +4 -35
  229. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  230. package/package/components/runs/RunsTable.svelte +1 -1
  231. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  232. package/package/components/schema/SchemaPicker.svelte +92 -0
  233. package/package/components/{tutorials/RunsTutorial.svelte.d.ts → schema/SchemaPicker.svelte.d.ts} +12 -11
  234. package/package/components/scriptEditor/LogPanel.svelte +2 -17
  235. package/package/components/scriptEditor/LogPanel.svelte.d.ts +0 -2
  236. package/package/components/select/SelectDropdown.svelte +2 -2
  237. package/package/components/settings/ChangeWorkspaceColor.svelte +3 -4
  238. package/package/components/settings/ChangeWorkspaceId.svelte +10 -14
  239. package/package/components/settings/ChangeWorkspaceName.svelte +6 -7
  240. package/package/components/settings/CreateToken.svelte +1 -1
  241. package/package/components/settings/UserAIPromptsSettings.svelte +15 -56
  242. package/package/components/settings/WorkspaceOperatorSettings.svelte +85 -68
  243. package/package/components/settings/WorkspaceUserSettings.svelte +406 -531
  244. package/package/components/sidebar/MenuButton.svelte +24 -46
  245. package/package/components/sidebar/MenuButton.svelte.d.ts +0 -2
  246. package/package/components/sidebar/MultiplayerMenu.svelte +3 -3
  247. package/package/components/sidebar/OperatorMenu.svelte +88 -63
  248. package/package/components/sidebar/SidebarContent.svelte +2 -7
  249. package/package/components/sidebar/UserMenu.svelte +1 -1
  250. package/package/components/sidebar/WorkspaceMenu.svelte +85 -35
  251. package/package/components/sqlTypeService.js +3 -4
  252. package/package/components/table/DataTable.svelte +2 -3
  253. package/package/components/table/DataTable.svelte.d.ts +0 -1
  254. package/package/components/text_input/TextInput.svelte +0 -3
  255. package/package/components/text_input/TextInput.svelte.d.ts +0 -2
  256. package/package/components/triggers/utils.js +1 -0
  257. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +35 -6
  258. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +20 -5
  259. package/package/components/tutorials/utils.d.ts +0 -16
  260. package/package/components/tutorials/utils.js +0 -96
  261. package/package/components/vscode.js +6 -6
  262. package/package/components/workspaceSettings/AISettings.svelte +108 -146
  263. package/package/components/workspaceSettings/CreateWorkspace.svelte +12 -26
  264. package/package/components/workspaceSettings/DucklakeSettings.svelte +23 -46
  265. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +1 -2
  266. package/package/components/workspaceSettings/ModelTokenLimits.svelte +18 -14
  267. package/package/components/workspaceSettings/StorageSettings.svelte +241 -280
  268. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +0 -1
  269. package/package/consts.js +1 -4
  270. package/package/gen/core/OpenAPI.js +1 -1
  271. package/package/gen/schemas.gen.d.ts +1 -133
  272. package/package/gen/schemas.gen.js +1 -133
  273. package/package/gen/services.gen.d.ts +10 -160
  274. package/package/gen/services.gen.js +20 -319
  275. package/package/gen/types.gen.d.ts +19 -609
  276. package/package/hubPaths.json +2 -3
  277. package/package/infer.js +0 -2
  278. package/package/logout.d.ts +2 -0
  279. package/package/logout.js +23 -2
  280. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  281. package/package/navigation.d.ts +1 -1
  282. package/package/rawAppWmillTs.d.ts +0 -11
  283. package/package/rawAppWmillTs.js +1 -38
  284. package/package/svelte5Utils.svelte.d.ts +1 -7
  285. package/package/svelte5Utils.svelte.js +2 -23
  286. package/package/tutorialUtils.js +4 -0
  287. package/package/tutorials/config.js +3 -31
  288. package/package/tutorials/roleUtils.d.ts +1 -1
  289. package/package/tutorials/roleUtils.js +2 -6
  290. package/package/utils.js +1 -159
  291. package/package.json +4 -6
  292. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
  293. package/dist/sharedUtils/base.d.ts +0 -1
  294. package/dist/sharedUtils/cloud.d.ts +0 -1
  295. package/dist/sharedUtils/common.d.ts +0 -111
  296. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
  297. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
  298. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
  299. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
  300. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
  301. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
  302. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
  303. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
  304. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
  305. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
  306. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
  307. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
  308. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
  309. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
  310. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
  311. package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
  312. package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
  313. package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
  314. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
  315. package/dist/sharedUtils/components/apps/types.d.ts +0 -274
  316. package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
  317. package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
  318. package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
  319. package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
  320. package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
  321. package/dist/sharedUtils/components/common/index.d.ts +0 -24
  322. package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
  323. package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
  324. package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
  325. package/dist/sharedUtils/components/ducklake.d.ts +0 -1
  326. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
  327. package/dist/sharedUtils/components/icons/index.d.ts +0 -101
  328. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
  329. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
  330. package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
  331. package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
  332. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
  333. package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
  334. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +0 -2
  335. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
  336. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
  337. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
  338. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
  339. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
  340. package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
  341. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
  342. package/dist/sharedUtils/components/triggers.d.ts +0 -20
  343. package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
  344. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
  345. package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
  346. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
  347. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
  348. package/dist/sharedUtils/gen/core/request.d.ts +0 -29
  349. package/dist/sharedUtils/gen/index.d.ts +0 -6
  350. package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
  351. package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
  352. package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
  353. package/dist/sharedUtils/history.svelte.d.ts +0 -9
  354. package/dist/sharedUtils/hub.d.ts +0 -49
  355. package/dist/sharedUtils/jsr.json +0 -6
  356. package/dist/sharedUtils/lib.d.ts +0 -5
  357. package/dist/sharedUtils/lib.es.js +0 -1588
  358. package/dist/sharedUtils/package.json +0 -12
  359. package/dist/sharedUtils/schema.d.ts +0 -3
  360. package/dist/sharedUtils/stores.d.ts +0 -97
  361. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
  362. package/dist/sharedUtils/toast.d.ts +0 -8
  363. package/dist/sharedUtils/utils.d.ts +0 -265
  364. package/package/components/FlowDiffViewer.svelte +0 -37
  365. package/package/components/FlowDiffViewer.svelte.d.ts +0 -7
  366. package/package/components/JobOtelTraces.svelte +0 -287
  367. package/package/components/JobOtelTraces.svelte.d.ts +0 -6
  368. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +0 -46
  369. package/package/components/apps/components/display/dbtable/queries/alterTable.js +0 -314
  370. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +0 -1
  371. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +0 -867
  372. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +0 -9
  373. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +0 -45
  374. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +0 -47
  375. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +0 -402
  376. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +0 -35
  377. package/package/components/apps/components/display/dbtable/tableEditor.js +0 -49
  378. package/package/components/copilot/chat/AppAvailableContextList.svelte +0 -263
  379. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +0 -13
  380. package/package/components/debug/DebugConsole.svelte +0 -277
  381. package/package/components/debug/DebugConsole.svelte.d.ts +0 -13
  382. package/package/components/debug/DebugPanel.svelte +0 -97
  383. package/package/components/debug/DebugPanel.svelte.d.ts +0 -11
  384. package/package/components/debug/DebugToolbar.svelte +0 -148
  385. package/package/components/debug/DebugToolbar.svelte.d.ts +0 -17
  386. package/package/components/debug/DebugVariableViewer.svelte +0 -115
  387. package/package/components/debug/DebugVariableViewer.svelte.d.ts +0 -11
  388. package/package/components/debug/MonacoDebugger.svelte +0 -384
  389. package/package/components/debug/MonacoDebugger.svelte.d.ts +0 -15
  390. package/package/components/debug/dapClient.d.ts +0 -192
  391. package/package/components/debug/dapClient.js +0 -426
  392. package/package/components/debug/debugUtils.d.ts +0 -30
  393. package/package/components/debug/debugUtils.js +0 -131
  394. package/package/components/debug/index.d.ts +0 -75
  395. package/package/components/debug/index.js +0 -82
  396. package/package/components/flows/content/FlowEditorDrawer.svelte +0 -124
  397. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +0 -22
  398. package/package/components/flows/content/McpOAuthConnect.svelte +0 -217
  399. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +0 -7
  400. package/package/components/icons/HtmlIcon.svelte +0 -20
  401. package/package/components/icons/HtmlIcon.svelte.d.ts +0 -8
  402. package/package/components/icons/LessIcon.svelte +0 -16
  403. package/package/components/icons/LessIcon.svelte.d.ts +0 -8
  404. package/package/components/icons/MarkdownIcon.svelte +0 -20
  405. package/package/components/icons/MarkdownIcon.svelte.d.ts +0 -8
  406. package/package/components/icons/SassIcon.svelte +0 -28
  407. package/package/components/icons/SassIcon.svelte.d.ts +0 -8
  408. package/package/components/icons/YamlIcon.svelte +0 -20
  409. package/package/components/icons/YamlIcon.svelte.d.ts +0 -8
  410. package/package/components/instanceSettings/SecretBackendConfig.svelte +0 -514
  411. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +0 -8
  412. package/package/components/raw_apps/RunnableRow.svelte +0 -41
  413. package/package/components/raw_apps/RunnableRow.svelte.d.ts +0 -11
  414. package/package/components/runs/useJobsLoader.svelte.d.ts +0 -34
  415. package/package/components/runs/useJobsLoader.svelte.js +0 -507
  416. package/package/components/settings/AIPromptsModal.svelte +0 -88
  417. package/package/components/settings/AIPromptsModal.svelte.d.ts +0 -11
  418. package/package/components/tutorials/RunsTutorial.svelte +0 -399
  419. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +0 -133
  420. package/package/components/workspace/WorkspaceCard.svelte +0 -184
  421. package/package/components/workspace/WorkspaceCard.svelte.d.ts +0 -24
  422. package/package/components/workspace/WorkspaceIcon.svelte +0 -21
  423. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +0 -9
  424. package/package/components/workspace/WorkspaceTreeView.svelte +0 -331
  425. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +0 -15
  426. package/package/logoutKit.d.ts +0 -2
  427. package/package/logoutKit.js +0 -26
  428. package/package/svelte5UtilsKit.svelte.d.ts +0 -3
  429. package/package/svelte5UtilsKit.svelte.js +0 -30
@@ -1,867 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { makeAlterTableQueries, diffTableEditorValues } from './alterTable';
3
- function normalize(sql) {
4
- return sql?.replace(/\s+/g, ' ').trim();
5
- }
6
- describe('makeAlterTableQueries', () => {
7
- it('adds a column', () => {
8
- const queries = makeAlterTableQueries({
9
- name: 'users',
10
- operations: [
11
- {
12
- kind: 'addColumn',
13
- column: {
14
- name: 'age',
15
- datatype: 'INTEGER',
16
- nullable: true
17
- }
18
- }
19
- ]
20
- }, 'postgresql');
21
- expect(queries).toHaveLength(1);
22
- expect(normalize(queries[0])).toBe(normalize(`
23
- ALTER TABLE users
24
- ADD COLUMN age INTEGER;
25
- `));
26
- });
27
- it('drops a column', () => {
28
- const queries = makeAlterTableQueries({
29
- name: 'users',
30
- operations: [
31
- {
32
- kind: 'dropColumn',
33
- name: 'age'
34
- }
35
- ]
36
- }, 'postgresql');
37
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE users DROP COLUMN age;'));
38
- });
39
- it('renames a column', () => {
40
- const queries = makeAlterTableQueries({
41
- name: 'users',
42
- operations: [
43
- {
44
- kind: 'alterColumn',
45
- changes: { name: 'name' },
46
- original: { datatype: 'VARCHAR', name: 'fullname' }
47
- }
48
- ]
49
- }, 'postgresql');
50
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE users RENAME COLUMN fullname TO name;'));
51
- });
52
- it('alters column type and nullability', () => {
53
- const queries = makeAlterTableQueries({
54
- name: 'users',
55
- operations: [
56
- {
57
- kind: 'alterColumn',
58
- original: { datatype: 'VARCHAR', name: 'age', nullable: true },
59
- changes: {
60
- datatype: 'BIGINT',
61
- nullable: false
62
- }
63
- }
64
- ]
65
- }, 'postgresql');
66
- expect(queries).toHaveLength(2);
67
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE users ALTER COLUMN age TYPE BIGINT;'));
68
- expect(normalize(queries[1])).toBe(normalize('ALTER TABLE users ALTER COLUMN age SET NOT NULL;'));
69
- });
70
- it('sets and drops default values', () => {
71
- const queries = makeAlterTableQueries({
72
- name: 'users',
73
- operations: [
74
- {
75
- kind: 'alterColumn',
76
- original: { datatype: 'TIMESTAMPTZ', name: 'created_at', defaultValue: 'x' },
77
- changes: {
78
- defaultValue: '{now()}'
79
- }
80
- },
81
- {
82
- kind: 'alterColumn',
83
- original: { datatype: 'TIMESTAMPTZ', name: 'created_at', defaultValue: 'x' },
84
- changes: {
85
- defaultValue: undefined
86
- }
87
- }
88
- ]
89
- }, 'postgresql');
90
- expect(normalize(queries[0])).toEqual('ALTER TABLE users ALTER COLUMN created_at SET DEFAULT now();');
91
- expect(normalize(queries[1])).toEqual('ALTER TABLE users ALTER COLUMN created_at DROP DEFAULT;');
92
- });
93
- it('adds a foreign key', () => {
94
- const queries = makeAlterTableQueries({
95
- name: 'posts',
96
- operations: [
97
- {
98
- kind: 'addForeignKey',
99
- foreignKey: {
100
- targetTable: 'users',
101
- columns: [
102
- {
103
- sourceColumn: 'user_id',
104
- targetColumn: 'id'
105
- }
106
- ],
107
- onDelete: 'CASCADE',
108
- onUpdate: 'NO ACTION'
109
- }
110
- }
111
- ]
112
- }, 'postgresql');
113
- expect(normalize(queries[0])).toBe(normalize(`
114
- ALTER TABLE posts
115
- ADD CONSTRAINT fk_posts_user_id_users_id
116
- FOREIGN KEY (user_id)
117
- REFERENCES users (id)
118
- ON DELETE CASCADE;
119
- `));
120
- });
121
- it('drops a foreign key using constraint in PostgreSQL', () => {
122
- const queries = makeAlterTableQueries({
123
- name: 'posts',
124
- operations: [
125
- {
126
- kind: 'dropForeignKey',
127
- fk_constraint_name: 'fk_posts_user'
128
- }
129
- ]
130
- }, 'postgresql');
131
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE posts DROP CONSTRAINT fk_posts_user;'));
132
- });
133
- it('drops a foreign key in MySQL', () => {
134
- const queries = makeAlterTableQueries({
135
- name: 'posts',
136
- operations: [
137
- {
138
- kind: 'dropForeignKey',
139
- fk_constraint_name: 'fk_posts_user'
140
- }
141
- ]
142
- }, 'mysql');
143
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE posts DROP FOREIGN KEY `fk_posts_user`;'));
144
- });
145
- it('uses schema when provided', () => {
146
- const queries = makeAlterTableQueries({
147
- name: 'users',
148
- operations: [
149
- {
150
- kind: 'addColumn',
151
- column: {
152
- name: 'age',
153
- datatype: 'INTEGER'
154
- }
155
- }
156
- ]
157
- }, 'postgresql', 'public');
158
- expect(queries[0].startsWith('ALTER TABLE public.users')).toBe(true);
159
- });
160
- it('renames a table', () => {
161
- const queries = makeAlterTableQueries({
162
- name: 'old_users',
163
- operations: [
164
- {
165
- kind: 'renameTable',
166
- to: 'new_users'
167
- }
168
- ]
169
- }, 'postgresql');
170
- expect(queries).toHaveLength(1);
171
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE old_users RENAME TO new_users;'));
172
- });
173
- it('renames a table with schema', () => {
174
- const queries = makeAlterTableQueries({
175
- name: 'old_users',
176
- operations: [
177
- {
178
- kind: 'renameTable',
179
- to: 'new_users'
180
- }
181
- ]
182
- }, 'postgresql', 'public');
183
- expect(queries).toHaveLength(1);
184
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE public.old_users RENAME TO new_users;'));
185
- });
186
- it('renames a table in MySQL', () => {
187
- const queries = makeAlterTableQueries({
188
- name: 'old_users',
189
- operations: [
190
- {
191
- kind: 'renameTable',
192
- to: 'new_users'
193
- }
194
- ]
195
- }, 'mysql');
196
- expect(queries).toHaveLength(1);
197
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE old_users RENAME TO new_users;'));
198
- });
199
- it('handles multiple operations including rename table', () => {
200
- const queries = makeAlterTableQueries({
201
- name: 'users',
202
- operations: [
203
- {
204
- kind: 'addColumn',
205
- column: {
206
- name: 'email',
207
- datatype: 'VARCHAR',
208
- datatype_length: 255,
209
- nullable: false
210
- }
211
- },
212
- {
213
- kind: 'alterColumn',
214
- original: { datatype: 'VARCHAR', name: 'fullname' },
215
- changes: { name: 'name' }
216
- },
217
- {
218
- kind: 'renameTable',
219
- to: 'customers'
220
- }
221
- ]
222
- }, 'postgresql');
223
- expect(queries).toHaveLength(3);
224
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE users ADD COLUMN email VARCHAR(255) NOT NULL;'));
225
- expect(normalize(queries[1])).toBe(normalize('ALTER TABLE users RENAME COLUMN fullname TO name;'));
226
- expect(normalize(queries[2])).toBe(normalize('ALTER TABLE users RENAME TO customers;'));
227
- });
228
- it('renames table with special characters in name', () => {
229
- const queries = makeAlterTableQueries({
230
- name: 'user_accounts',
231
- operations: [
232
- {
233
- kind: 'renameTable',
234
- to: 'customer_profiles'
235
- }
236
- ]
237
- }, 'postgresql');
238
- expect(queries).toHaveLength(1);
239
- expect(normalize(queries[0])).toBe(normalize('ALTER TABLE user_accounts RENAME TO customer_profiles;'));
240
- });
241
- });
242
- describe('diffTableEditorValues - Edge Cases', () => {
243
- it('renaming a column that is primary key should only detect one change (rename)', () => {
244
- const original = {
245
- name: 'users',
246
- columns: [
247
- {
248
- name: 'user_id',
249
- datatype: 'INTEGER',
250
- primaryKey: true
251
- },
252
- {
253
- name: 'email',
254
- datatype: 'VARCHAR'
255
- }
256
- ],
257
- foreignKeys: [],
258
- pk_constraint_name: 'users_pkey'
259
- };
260
- const updated = {
261
- name: 'users',
262
- columns: [
263
- {
264
- name: 'id',
265
- datatype: 'INTEGER',
266
- primaryKey: true,
267
- initialName: 'user_id'
268
- },
269
- {
270
- name: 'email',
271
- datatype: 'VARCHAR',
272
- initialName: 'email'
273
- }
274
- ],
275
- foreignKeys: [],
276
- pk_constraint_name: 'users_pkey'
277
- };
278
- const diff = diffTableEditorValues(original, updated);
279
- // Should only detect one alterColumn operation (rename), not a PK change
280
- expect(diff.operations).toHaveLength(1);
281
- expect(diff.operations[0]).toEqual({
282
- kind: 'alterColumn',
283
- original: {
284
- name: 'user_id',
285
- datatype: 'INTEGER',
286
- primaryKey: true
287
- },
288
- changes: {
289
- name: 'id'
290
- }
291
- });
292
- });
293
- it('changing primary keys that contain a column that was renamed should work correctly', () => {
294
- const original = {
295
- name: 'users',
296
- columns: [
297
- {
298
- name: 'user_id',
299
- datatype: 'INTEGER',
300
- primaryKey: true
301
- },
302
- {
303
- name: 'email',
304
- datatype: 'VARCHAR'
305
- }
306
- ],
307
- foreignKeys: [],
308
- pk_constraint_name: 'users_pkey'
309
- };
310
- const updated = {
311
- name: 'users',
312
- columns: [
313
- {
314
- name: 'id',
315
- datatype: 'INTEGER',
316
- primaryKey: true,
317
- initialName: 'user_id'
318
- },
319
- {
320
- name: 'email',
321
- datatype: 'VARCHAR',
322
- primaryKey: true,
323
- initialName: 'email'
324
- }
325
- ],
326
- foreignKeys: [],
327
- pk_constraint_name: 'users_pkey'
328
- };
329
- const diff = diffTableEditorValues(original, updated);
330
- // Should detect: rename + drop old PK + add new composite PK
331
- expect(diff.operations).toHaveLength(3);
332
- const dropPkOp = diff.operations.find((op) => op.kind === 'dropPrimaryKey');
333
- const addPkOp = diff.operations.find((op) => op.kind === 'addPrimaryKey');
334
- const alterColOp = diff.operations.find((op) => op.kind === 'alterColumn');
335
- expect(dropPkOp).toBeDefined();
336
- expect(addPkOp).toEqual({
337
- kind: 'addPrimaryKey',
338
- columns: ['id', 'email']
339
- });
340
- expect(alterColOp).toEqual({
341
- kind: 'alterColumn',
342
- original: {
343
- name: 'user_id',
344
- datatype: 'INTEGER',
345
- primaryKey: true
346
- },
347
- changes: {
348
- name: 'id'
349
- }
350
- });
351
- });
352
- it('column a gets renamed to b, foreign key a to c becomes b to c - should only detect one change (rename)', () => {
353
- const original = {
354
- name: 'posts',
355
- columns: [
356
- {
357
- name: 'post_id',
358
- datatype: 'INTEGER',
359
- primaryKey: true
360
- },
361
- {
362
- name: 'author_id',
363
- datatype: 'INTEGER'
364
- }
365
- ],
366
- foreignKeys: [
367
- {
368
- targetTable: 'users',
369
- columns: [
370
- {
371
- sourceColumn: 'author_id',
372
- targetColumn: 'id'
373
- }
374
- ],
375
- onDelete: 'CASCADE',
376
- onUpdate: 'NO ACTION',
377
- fk_constraint_name: 'fk_posts_author'
378
- }
379
- ]
380
- };
381
- const updated = {
382
- name: 'posts',
383
- columns: [
384
- {
385
- name: 'post_id',
386
- datatype: 'INTEGER',
387
- primaryKey: true,
388
- initialName: 'post_id'
389
- },
390
- {
391
- name: 'user_id',
392
- datatype: 'INTEGER',
393
- initialName: 'author_id'
394
- }
395
- ],
396
- foreignKeys: [
397
- {
398
- targetTable: 'users',
399
- columns: [
400
- {
401
- sourceColumn: 'user_id',
402
- targetColumn: 'id'
403
- }
404
- ],
405
- onDelete: 'CASCADE',
406
- onUpdate: 'NO ACTION'
407
- }
408
- ]
409
- };
410
- const diff = diffTableEditorValues(original, updated);
411
- // Should only detect column rename, not FK change
412
- expect(diff.operations).toHaveLength(1);
413
- expect(diff.operations[0]).toEqual({
414
- kind: 'alterColumn',
415
- original: {
416
- name: 'author_id',
417
- datatype: 'INTEGER'
418
- },
419
- changes: {
420
- name: 'user_id'
421
- }
422
- });
423
- });
424
- it('renaming the table should be detected', () => {
425
- const original = {
426
- name: 'old_users',
427
- columns: [
428
- {
429
- name: 'id',
430
- datatype: 'INTEGER',
431
- primaryKey: true
432
- }
433
- ],
434
- foreignKeys: []
435
- };
436
- const updated = {
437
- name: 'new_users',
438
- columns: [
439
- {
440
- name: 'id',
441
- datatype: 'INTEGER',
442
- primaryKey: true,
443
- initialName: 'id'
444
- }
445
- ],
446
- foreignKeys: []
447
- };
448
- const diff = diffTableEditorValues(original, updated);
449
- expect(diff.operations).toHaveLength(1);
450
- expect(diff.operations[0]).toEqual({
451
- kind: 'renameTable',
452
- to: 'new_users'
453
- });
454
- });
455
- it('changing nullable should be detected', () => {
456
- const original = {
457
- name: 'users',
458
- columns: [
459
- {
460
- name: 'email',
461
- datatype: 'VARCHAR',
462
- nullable: true
463
- }
464
- ],
465
- foreignKeys: []
466
- };
467
- const updated = {
468
- name: 'users',
469
- columns: [
470
- {
471
- name: 'email',
472
- datatype: 'VARCHAR',
473
- nullable: false,
474
- initialName: 'email'
475
- }
476
- ],
477
- foreignKeys: []
478
- };
479
- const diff = diffTableEditorValues(original, updated);
480
- expect(diff.operations).toHaveLength(1);
481
- expect(diff.operations[0]).toEqual({
482
- kind: 'alterColumn',
483
- original: {
484
- name: 'email',
485
- datatype: 'VARCHAR',
486
- nullable: true
487
- },
488
- changes: {
489
- nullable: false
490
- }
491
- });
492
- });
493
- it('dropping column with FK and adding new column with same name should detect FK change', () => {
494
- const original = {
495
- name: 'posts',
496
- columns: [
497
- {
498
- name: 'id',
499
- datatype: 'INTEGER',
500
- primaryKey: true
501
- },
502
- {
503
- name: 'author_id',
504
- datatype: 'INTEGER'
505
- }
506
- ],
507
- foreignKeys: [
508
- {
509
- targetTable: 'users',
510
- columns: [
511
- {
512
- sourceColumn: 'author_id',
513
- targetColumn: 'id'
514
- }
515
- ],
516
- onDelete: 'CASCADE',
517
- onUpdate: 'NO ACTION',
518
- fk_constraint_name: 'fk_posts_author'
519
- }
520
- ]
521
- };
522
- const updated = {
523
- name: 'posts',
524
- columns: [
525
- {
526
- name: 'id',
527
- datatype: 'INTEGER',
528
- primaryKey: true,
529
- initialName: 'id'
530
- },
531
- {
532
- name: 'author_id',
533
- datatype: 'VARCHAR' // Different datatype, so it's a different column
534
- }
535
- ],
536
- foreignKeys: []
537
- };
538
- const diff = diffTableEditorValues(original, updated);
539
- // Should detect: drop FK, drop column, add new column
540
- const operations = diff.operations;
541
- const dropFkOp = operations.find((op) => op.kind === 'dropForeignKey');
542
- const dropColOp = operations.find((op) => op.kind === 'dropColumn');
543
- const addColOp = operations.find((op) => op.kind === 'addColumn');
544
- expect(dropFkOp).toBeDefined();
545
- expect(dropFkOp).toEqual({
546
- kind: 'dropForeignKey',
547
- fk_constraint_name: 'fk_posts_author'
548
- });
549
- expect(dropColOp).toBeDefined();
550
- expect(dropColOp).toEqual({
551
- kind: 'dropColumn',
552
- name: 'author_id'
553
- });
554
- expect(addColOp).toBeDefined();
555
- expect(addColOp).toEqual({
556
- kind: 'addColumn',
557
- column: {
558
- name: 'author_id',
559
- datatype: 'VARCHAR'
560
- }
561
- });
562
- });
563
- it('composite FK with multiple columns renamed should not detect FK change', () => {
564
- const original = {
565
- name: 'order_items',
566
- columns: [
567
- {
568
- name: 'order_id',
569
- datatype: 'INTEGER'
570
- },
571
- {
572
- name: 'product_id',
573
- datatype: 'INTEGER'
574
- }
575
- ],
576
- foreignKeys: [
577
- {
578
- targetTable: 'orders',
579
- columns: [
580
- {
581
- sourceColumn: 'order_id',
582
- targetColumn: 'id'
583
- },
584
- {
585
- sourceColumn: 'product_id',
586
- targetColumn: 'product_id'
587
- }
588
- ],
589
- onDelete: 'CASCADE',
590
- onUpdate: 'NO ACTION',
591
- fk_constraint_name: 'fk_order_items'
592
- }
593
- ]
594
- };
595
- const updated = {
596
- name: 'order_items',
597
- columns: [
598
- {
599
- name: 'o_id',
600
- datatype: 'INTEGER',
601
- initialName: 'order_id'
602
- },
603
- {
604
- name: 'p_id',
605
- datatype: 'INTEGER',
606
- initialName: 'product_id'
607
- }
608
- ],
609
- foreignKeys: [
610
- {
611
- targetTable: 'orders',
612
- columns: [
613
- {
614
- sourceColumn: 'o_id',
615
- targetColumn: 'id'
616
- },
617
- {
618
- sourceColumn: 'p_id',
619
- targetColumn: 'product_id'
620
- }
621
- ],
622
- onDelete: 'CASCADE',
623
- onUpdate: 'NO ACTION'
624
- }
625
- ]
626
- };
627
- const diff = diffTableEditorValues(original, updated);
628
- // Should only detect two column renames, no FK change
629
- expect(diff.operations).toHaveLength(2);
630
- expect(diff.operations.filter((op) => op.kind === 'alterColumn')).toHaveLength(2);
631
- expect(diff.operations.filter((op) => op.kind === 'dropForeignKey')).toHaveLength(0);
632
- expect(diff.operations.filter((op) => op.kind === 'addForeignKey')).toHaveLength(0);
633
- });
634
- it('changing FK onDelete should detect FK change', () => {
635
- const original = {
636
- name: 'posts',
637
- columns: [
638
- {
639
- name: 'id',
640
- datatype: 'INTEGER',
641
- primaryKey: true
642
- },
643
- {
644
- name: 'author_id',
645
- datatype: 'INTEGER'
646
- }
647
- ],
648
- foreignKeys: [
649
- {
650
- targetTable: 'users',
651
- columns: [
652
- {
653
- sourceColumn: 'author_id',
654
- targetColumn: 'id'
655
- }
656
- ],
657
- onDelete: 'CASCADE',
658
- onUpdate: 'NO ACTION',
659
- fk_constraint_name: 'fk_posts_author'
660
- }
661
- ]
662
- };
663
- const updated = {
664
- name: 'posts',
665
- columns: [
666
- {
667
- name: 'id',
668
- datatype: 'INTEGER',
669
- primaryKey: true,
670
- initialName: 'id'
671
- },
672
- {
673
- name: 'author_id',
674
- datatype: 'INTEGER',
675
- initialName: 'author_id'
676
- }
677
- ],
678
- foreignKeys: [
679
- {
680
- targetTable: 'users',
681
- columns: [
682
- {
683
- sourceColumn: 'author_id',
684
- targetColumn: 'id'
685
- }
686
- ],
687
- onDelete: 'SET NULL',
688
- onUpdate: 'NO ACTION'
689
- }
690
- ]
691
- };
692
- const diff = diffTableEditorValues(original, updated);
693
- // Should detect: drop old FK, add new FK with different onDelete
694
- const operations = diff.operations;
695
- expect(operations.filter((op) => op.kind === 'dropForeignKey')).toHaveLength(1);
696
- expect(operations.filter((op) => op.kind === 'addForeignKey')).toHaveLength(1);
697
- const addFkOp = operations.find((op) => op.kind === 'addForeignKey');
698
- expect(addFkOp).toBeDefined();
699
- if (addFkOp && addFkOp.kind === 'addForeignKey') {
700
- expect(addFkOp.foreignKey.onDelete).toBe('SET NULL');
701
- }
702
- });
703
- it('changing FK target table should detect FK change', () => {
704
- const original = {
705
- name: 'posts',
706
- columns: [
707
- {
708
- name: 'author_id',
709
- datatype: 'INTEGER'
710
- }
711
- ],
712
- foreignKeys: [
713
- {
714
- targetTable: 'users',
715
- columns: [
716
- {
717
- sourceColumn: 'author_id',
718
- targetColumn: 'id'
719
- }
720
- ],
721
- onDelete: 'CASCADE',
722
- onUpdate: 'NO ACTION',
723
- fk_constraint_name: 'fk_posts_author'
724
- }
725
- ]
726
- };
727
- const updated = {
728
- name: 'posts',
729
- columns: [
730
- {
731
- name: 'author_id',
732
- datatype: 'INTEGER',
733
- initialName: 'author_id'
734
- }
735
- ],
736
- foreignKeys: [
737
- {
738
- targetTable: 'accounts',
739
- columns: [
740
- {
741
- sourceColumn: 'author_id',
742
- targetColumn: 'id'
743
- }
744
- ],
745
- onDelete: 'CASCADE',
746
- onUpdate: 'NO ACTION'
747
- }
748
- ]
749
- };
750
- const diff = diffTableEditorValues(original, updated);
751
- // Should detect: drop old FK, add new FK with different target table
752
- expect(diff.operations.filter((op) => op.kind === 'dropForeignKey')).toHaveLength(1);
753
- expect(diff.operations.filter((op) => op.kind === 'addForeignKey')).toHaveLength(1);
754
- });
755
- it('multiple column changes with rename and nullable should all be detected', () => {
756
- const original = {
757
- name: 'users',
758
- columns: [
759
- {
760
- name: 'user_name',
761
- datatype: 'VARCHAR',
762
- nullable: true
763
- }
764
- ],
765
- foreignKeys: []
766
- };
767
- const updated = {
768
- name: 'users',
769
- columns: [
770
- {
771
- name: 'username',
772
- datatype: 'VARCHAR',
773
- nullable: false,
774
- initialName: 'user_name'
775
- }
776
- ],
777
- foreignKeys: []
778
- };
779
- const diff = diffTableEditorValues(original, updated);
780
- expect(diff.operations).toHaveLength(1);
781
- expect(diff.operations[0]).toEqual({
782
- kind: 'alterColumn',
783
- original: {
784
- name: 'user_name',
785
- datatype: 'VARCHAR',
786
- nullable: true
787
- },
788
- changes: {
789
- name: 'username',
790
- nullable: false
791
- }
792
- });
793
- });
794
- it('operation ordering should be correct', () => {
795
- const original = {
796
- name: 'posts',
797
- columns: [
798
- {
799
- name: 'id',
800
- datatype: 'INTEGER',
801
- primaryKey: true
802
- },
803
- {
804
- name: 'author_id',
805
- datatype: 'INTEGER'
806
- },
807
- {
808
- name: 'old_col',
809
- datatype: 'VARCHAR'
810
- }
811
- ],
812
- foreignKeys: [
813
- {
814
- targetTable: 'users',
815
- columns: [
816
- {
817
- sourceColumn: 'author_id',
818
- targetColumn: 'id'
819
- }
820
- ],
821
- onDelete: 'CASCADE',
822
- onUpdate: 'NO ACTION',
823
- fk_constraint_name: 'fk_posts_author'
824
- }
825
- ],
826
- pk_constraint_name: 'posts_pkey'
827
- };
828
- const updated = {
829
- name: 'articles',
830
- columns: [
831
- {
832
- name: 'id',
833
- datatype: 'INTEGER',
834
- primaryKey: true,
835
- initialName: 'id'
836
- },
837
- {
838
- name: 'author_id',
839
- datatype: 'INTEGER',
840
- nullable: false,
841
- initialName: 'author_id'
842
- },
843
- {
844
- name: 'new_col',
845
- datatype: 'VARCHAR'
846
- }
847
- ],
848
- foreignKeys: []
849
- };
850
- const diff = diffTableEditorValues(original, updated);
851
- // Expected operations in order:
852
- // 1. dropForeignKey
853
- // 2. dropColumn (old_col)
854
- // 3. alterColumn (author_id nullable)
855
- // 4. addColumn (new_col)
856
- // 5. renameTable
857
- const operationKinds = diff.operations.map((op) => op.kind);
858
- // Check that foreign keys are dropped first
859
- const dropFkIndex = operationKinds.indexOf('dropForeignKey');
860
- const addColIndex = operationKinds.indexOf('addColumn');
861
- const dropColIndex = operationKinds.indexOf('dropColumn');
862
- const renameTableIndex = operationKinds.indexOf('renameTable');
863
- expect(dropFkIndex).toBeLessThan(dropColIndex);
864
- expect(dropColIndex).toBeLessThan(addColIndex);
865
- expect(addColIndex).toBeLessThan(renameTableIndex);
866
- });
867
- });