windmill-components 1.623.1 → 1.623.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 (480) hide show
  1. package/package/assets/tokens/tokens.json +11 -1
  2. package/package/ata/apis.js +78 -5
  3. package/package/cancelable-promise-utils.js +4 -2
  4. package/package/components/AddUser.svelte +1 -1
  5. package/package/components/ApiConnectForm.svelte +6 -0
  6. package/package/components/AppConnectDrawer.svelte +1 -0
  7. package/package/components/AppConnectInner.svelte +1 -0
  8. package/package/components/AuthSettings.svelte +3 -1
  9. package/package/components/BedrockCredentialsCheck.svelte +241 -0
  10. package/package/components/BedrockCredentialsCheck.svelte.d.ts +3 -0
  11. package/package/components/CenteredModal.svelte +32 -24
  12. package/package/components/CenteredModal.svelte.d.ts +7 -27
  13. package/package/components/CenteredPage.svelte +6 -2
  14. package/package/components/CenteredPage.svelte.d.ts +3 -0
  15. package/package/components/CompareWorkspaces.svelte +74 -16
  16. package/package/components/ConcurrentJobsChart.svelte +3 -2
  17. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  18. package/package/components/CustomPopover.svelte +20 -23
  19. package/package/components/CustomPopover.svelte.d.ts +14 -39
  20. package/package/components/DBManager.svelte +134 -42
  21. package/package/components/DBManager.svelte.d.ts +13 -2
  22. package/package/components/DBManagerContent.svelte +25 -63
  23. package/package/components/DBManagerContent.svelte.d.ts +38 -4
  24. package/package/components/DBManagerDrawer.svelte +7 -9
  25. package/package/components/DBTable.svelte +1 -1
  26. package/package/components/DBTable.svelte.d.ts +3 -1
  27. package/package/components/DBTableEditor.svelte +234 -178
  28. package/package/components/DBTableEditor.svelte.d.ts +22 -3
  29. package/package/components/DateInput.svelte +29 -35
  30. package/package/components/DateInput.svelte.d.ts +10 -11
  31. package/package/components/DedicatedWorkersSelector.svelte +569 -0
  32. package/package/components/DedicatedWorkersSelector.svelte.d.ts +8 -0
  33. package/package/components/DeployWorkspace.svelte +106 -29
  34. package/package/components/Description.svelte +3 -2
  35. package/package/components/Dev.svelte +36 -2
  36. package/package/components/DiffDrawer.svelte +8 -29
  37. package/package/components/DiffEditor.svelte +32 -2
  38. package/package/components/DisplayResult.svelte +32 -24
  39. package/package/components/DropdownV2.svelte +2 -1
  40. package/package/components/DropdownV2.svelte.d.ts +1 -0
  41. package/package/components/Editor.svelte +71 -26
  42. package/package/components/Editor.svelte.d.ts +3 -0
  43. package/package/components/EditorBar.svelte +1 -1
  44. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  45. package/package/components/FlowBuilder.svelte +17 -11
  46. package/package/components/FlowDiffViewer.svelte +37 -0
  47. package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
  48. package/package/components/FlowGraphViewer.svelte +5 -2
  49. package/package/components/FlowGraphViewer.svelte.d.ts +2 -0
  50. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  51. package/package/components/FlowPreviewContent.svelte +3 -2
  52. package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
  53. package/package/components/FlowPreviewResult.svelte +0 -4
  54. package/package/components/FlowRestartButton.svelte +2 -3
  55. package/package/components/FlowRestartButton.svelte.d.ts +3 -0
  56. package/package/components/FlowStatusViewerInner.svelte +55 -35
  57. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  58. package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
  59. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
  60. package/package/components/FlowViewer.svelte +103 -2
  61. package/package/components/FlowViewer.svelte.d.ts +9 -3
  62. package/package/components/ForkWorkspaceBanner.svelte +32 -13
  63. package/package/components/GraphqlSchemaViewer.svelte +8 -1
  64. package/package/components/HistoricInputs.svelte +25 -27
  65. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  66. package/package/components/InfiniteList.svelte +27 -20
  67. package/package/components/InfiniteList.svelte.d.ts +2 -0
  68. package/package/components/InstanceSetting.svelte +38 -0
  69. package/package/components/InviteUser.svelte +16 -42
  70. package/package/components/InviteUser.svelte.d.ts +4 -18
  71. package/package/components/JobLoader.svelte.d.ts +1 -1
  72. package/package/components/JobOtelTraces.svelte +287 -0
  73. package/package/components/JobOtelTraces.svelte.d.ts +6 -0
  74. package/package/components/JsonInputs.svelte +6 -8
  75. package/package/components/JsonInputs.svelte.d.ts +7 -8
  76. package/package/components/LogViewer.svelte +91 -33
  77. package/package/components/Login.svelte +27 -0
  78. package/package/components/ManualPopover.svelte +5 -6
  79. package/package/components/ManualPopover.svelte.d.ts +9 -35
  80. package/package/components/MemoryFootprintViewer.svelte +2 -6
  81. package/package/components/ModulePreview.svelte +23 -21
  82. package/package/components/ModulePreview.svelte.d.ts +1 -0
  83. package/package/components/NextcloudSetting.svelte +1 -1
  84. package/package/components/OAuthSetting.svelte +1 -0
  85. package/package/components/Path.svelte +2 -2
  86. package/package/components/Path.svelte.d.ts +1 -1
  87. package/package/components/PocketIdSetting.svelte +82 -0
  88. package/package/components/PocketIdSetting.svelte.d.ts +6 -0
  89. package/package/components/ResourceEditor.svelte +4 -4
  90. package/package/components/ResourcePicker.svelte +4 -0
  91. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  92. package/package/components/RunButton.svelte +5 -15
  93. package/package/components/RunButton.svelte.d.ts +7 -19
  94. package/package/components/RunChart.svelte +8 -4
  95. package/package/components/RunChart.svelte.d.ts +2 -2
  96. package/package/components/RunForm.svelte +9 -17
  97. package/package/components/RunForm.svelte.d.ts +0 -1
  98. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  99. package/package/components/RunsPage.svelte +202 -537
  100. package/package/components/RunsPage.svelte.d.ts +5 -5
  101. package/package/components/S3FilePicker.svelte +7 -11
  102. package/package/components/S3FilePickerInner.svelte +2 -3
  103. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  104. package/package/components/SavedInputsPicker.svelte +1 -1
  105. package/package/components/SavedInputsV2.svelte +35 -36
  106. package/package/components/SchemaForm.svelte +26 -19
  107. package/package/components/SchemaFormWithArgPicker.svelte +4 -3
  108. package/package/components/ScriptBuilder.svelte +1 -1
  109. package/package/components/ScriptEditor.svelte +575 -101
  110. package/package/components/Section.svelte +4 -2
  111. package/package/components/ServiceLogsInner.svelte +4 -4
  112. package/package/components/ShareModal.svelte.d.ts +1 -1
  113. package/package/components/SimpleEditor.svelte +46 -2
  114. package/package/components/Star.svelte +8 -12
  115. package/package/components/Star.svelte.d.ts +6 -19
  116. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  117. package/package/components/SuperadminSettingsInner.svelte +1 -1
  118. package/package/components/TemplateEditor.svelte +54 -29
  119. package/package/components/TemplateEditor.svelte.d.ts +13 -102
  120. package/package/components/TimeAgo.svelte +49 -7
  121. package/package/components/TimeAgo.svelte.d.ts +1 -0
  122. package/package/components/Toast.svelte +5 -1
  123. package/package/components/UserSettings.svelte +1 -1
  124. package/package/components/WorkerGroup.svelte +35 -20
  125. package/package/components/WorkerGroup.svelte.d.ts +1 -0
  126. package/package/components/WorkerTagPicker.svelte +1 -1
  127. package/package/components/WorkerTagSelect.svelte +5 -2
  128. package/package/components/WorkspaceTutorials.svelte +5 -0
  129. package/package/components/apps/components/buttons/AppButton.svelte +21 -6
  130. package/package/components/apps/components/buttons/AppForm.svelte +2 -1
  131. package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
  132. package/package/components/apps/components/display/InsertRowDrawerButton.svelte +1 -1
  133. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +2 -5
  134. package/package/components/apps/components/display/dbtable/dbFeatures.d.ts +9 -0
  135. package/package/components/apps/components/display/dbtable/dbFeatures.js +32 -0
  136. package/package/components/apps/components/display/dbtable/metadata.d.ts +3 -3
  137. package/package/components/apps/components/display/dbtable/metadata.js +177 -148
  138. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
  139. package/package/components/apps/components/display/dbtable/queries/alterTable.js +322 -0
  140. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
  141. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
  142. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
  143. package/package/components/apps/components/display/dbtable/queries/createTable.js +13 -25
  144. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
  145. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
  146. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +45 -0
  147. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +401 -0
  148. package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
  149. package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
  150. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
  151. package/package/components/apps/components/display/dbtable/tableEditor.js +67 -0
  152. package/package/components/apps/components/display/dbtable/utils.d.ts +2 -0
  153. package/package/components/apps/components/display/dbtable/utils.js +61 -36
  154. package/package/components/apps/components/display/table/AppAggridTable.svelte +8 -0
  155. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +9 -9
  156. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -1
  157. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  158. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  159. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  160. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
  161. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  162. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  163. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +2 -4
  164. package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
  165. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
  166. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  167. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  168. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  169. package/package/components/apps/editor/PublicApp.svelte +49 -30
  170. package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
  171. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
  172. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  173. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  174. package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
  175. package/package/components/apps/inputType.d.ts +6 -1
  176. package/package/components/assets/AssetsDropdownButton.svelte +1 -1
  177. package/package/components/assets/AssetsUsageDrawer.svelte +98 -27
  178. package/package/components/assets/AssetsUsageDrawer.svelte.d.ts +5 -6
  179. package/package/components/assets/lib.d.ts +3 -2
  180. package/package/components/assets/lib.js +3 -1
  181. package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
  182. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  183. package/package/components/common/CloseButton.svelte +2 -1
  184. package/package/components/common/CloseButton.svelte.d.ts +1 -0
  185. package/package/components/common/badge/CountBadge.svelte +4 -3
  186. package/package/components/common/badge/CountBadge.svelte.d.ts +1 -0
  187. package/package/components/common/button/Button.svelte +1 -1
  188. package/package/components/common/button/model.js +1 -1
  189. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  190. package/package/components/common/confirmationModal/ConfirmationModal.svelte +2 -1
  191. package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
  192. package/package/components/common/drawer/Drawer.svelte +4 -1
  193. package/package/components/common/drawer/DrawerContent.svelte +6 -3
  194. package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
  195. package/package/components/common/languageIcons/TypeScript.svelte +5 -3
  196. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
  197. package/package/components/common/modal/Modal.svelte +3 -3
  198. package/package/components/common/modal/Modal2.svelte +1 -0
  199. package/package/components/common/table/AppRow.svelte +4 -1
  200. package/package/components/common/table/FlowRow.svelte +4 -1
  201. package/package/components/common/table/RawAppRow.svelte +4 -1
  202. package/package/components/common/table/Row.svelte +11 -21
  203. package/package/components/common/table/Row.svelte.d.ts +4 -20
  204. package/package/components/common/table/RowIcon.svelte +6 -2
  205. package/package/components/common/table/RowIcon.svelte.d.ts +1 -1
  206. package/package/components/common/table/ScriptRow.svelte +4 -1
  207. package/package/components/copilot/autocomplete/Autocompletor.d.ts +1 -1
  208. package/package/components/copilot/autocomplete/Autocompletor.js +7 -6
  209. package/package/components/copilot/autocomplete/request.js +13 -9
  210. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  211. package/package/components/copilot/chat/AIButtonStyle.js +2 -1
  212. package/package/components/copilot/chat/AIChat.svelte +3 -1
  213. package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
  214. package/package/components/copilot/chat/AIChatInput.svelte +275 -0
  215. package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
  216. package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
  217. package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
  218. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
  219. package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
  220. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
  221. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  222. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
  223. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
  224. package/package/components/copilot/chat/app/core.d.ts +56 -15
  225. package/package/components/copilot/chat/app/core.js +141 -22
  226. package/package/components/copilot/chat/context.d.ts +59 -2
  227. package/package/components/copilot/chat/context.js +6 -2
  228. package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
  229. package/package/components/copilot/chat/flow/core.d.ts +3 -1
  230. package/package/components/copilot/chat/flow/core.js +29 -2
  231. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  232. package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
  233. package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
  234. package/package/components/copilot/chat/script/core.d.ts +4 -1
  235. package/package/components/copilot/chat/script/core.js +43 -6
  236. package/package/components/copilot/chat/shared.d.ts +10 -0
  237. package/package/components/copilot/chat/shared.js +24 -0
  238. package/package/components/copilot/lib.d.ts +1 -1
  239. package/package/components/copilot/lib.js +2 -9
  240. package/package/components/copilot/utils.d.ts +5 -0
  241. package/package/components/copilot/utils.js +8 -0
  242. package/package/components/custom_ui.d.ts +2 -0
  243. package/package/components/dbOps.d.ts +18 -4
  244. package/package/components/dbOps.js +25 -3
  245. package/package/components/debug/DebugConsole.svelte +277 -0
  246. package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
  247. package/package/components/debug/DebugPanel.svelte +97 -0
  248. package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
  249. package/package/components/debug/DebugToolbar.svelte +148 -0
  250. package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
  251. package/package/components/debug/DebugVariableViewer.svelte +115 -0
  252. package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
  253. package/package/components/debug/MonacoDebugger.svelte +384 -0
  254. package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
  255. package/package/components/debug/dapClient.d.ts +192 -0
  256. package/package/components/debug/dapClient.js +426 -0
  257. package/package/components/debug/debugUtils.d.ts +30 -0
  258. package/package/components/debug/debugUtils.js +131 -0
  259. package/package/components/debug/index.d.ts +75 -0
  260. package/package/components/debug/index.js +82 -0
  261. package/package/components/details/DetailPageHeader.svelte +21 -7
  262. package/package/components/details/DetailPageHeader.svelte.d.ts +2 -1
  263. package/package/components/details/DetailPageLayout.svelte +10 -1
  264. package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
  265. package/package/components/flows/CreateActionsApp.svelte +6 -4
  266. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  267. package/package/components/flows/FlowHistoryInner.svelte +15 -4
  268. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  269. package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
  270. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
  271. package/package/components/flows/content/FlowInput.svelte +211 -37
  272. package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
  273. package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
  274. package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
  275. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  276. package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
  277. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
  278. package/package/components/flows/content/McpToolEditor.svelte +50 -37
  279. package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
  280. package/package/components/flows/conversations/FlowChat.svelte +16 -2
  281. package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
  282. package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
  283. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
  284. package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
  285. package/package/components/flows/conversations/FlowConversationsSidebar.svelte +79 -77
  286. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  287. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
  288. package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
  289. package/package/components/flows/types.d.ts +2 -0
  290. package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
  291. package/package/components/graph/FlowGraphV2.svelte +7 -1
  292. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +41 -24
  293. package/package/components/home/ItemsList.svelte +7 -6
  294. package/package/components/home/TutorialBanner.svelte +34 -18
  295. package/package/components/home/treeViewUtils.js +1 -1
  296. package/package/components/icons/CssIcon.svelte +20 -0
  297. package/package/components/icons/CssIcon.svelte.d.ts +7 -25
  298. package/package/components/icons/HtmlIcon.svelte +20 -0
  299. package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
  300. package/package/components/icons/JavaScriptIcon.svelte +10 -2
  301. package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
  302. package/package/components/icons/JsonIcon.svelte +8 -2
  303. package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
  304. package/package/components/icons/LessIcon.svelte +16 -0
  305. package/package/components/icons/LessIcon.svelte.d.ts +8 -0
  306. package/package/components/icons/MarkdownIcon.svelte +20 -0
  307. package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
  308. package/package/components/icons/NextcloudIcon.svelte +3 -2
  309. package/package/components/icons/NextcloudIcon.svelte.d.ts +2 -0
  310. package/package/components/icons/PocketIdIcon.svelte +9 -0
  311. package/package/components/icons/PocketIdIcon.svelte.d.ts +9 -0
  312. package/package/components/icons/ReactIcon.svelte +10 -2
  313. package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
  314. package/package/components/icons/SassIcon.svelte +28 -0
  315. package/package/components/icons/SassIcon.svelte.d.ts +8 -0
  316. package/package/components/icons/SvelteIcon.svelte +10 -2
  317. package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
  318. package/package/components/icons/VueIcon.svelte +10 -2
  319. package/package/components/icons/VueIcon.svelte.d.ts +1 -0
  320. package/package/components/icons/YamlIcon.svelte +20 -0
  321. package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
  322. package/package/components/icons/index.js +3 -1
  323. package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
  324. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
  325. package/package/components/instanceSettings.d.ts +2 -1
  326. package/package/components/instanceSettings.js +33 -1
  327. package/package/components/jobs/JobPreview.svelte +46 -39
  328. package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
  329. package/package/components/monacoLanguagesOptions.js +16 -15
  330. package/package/components/propertyPicker/PropPicker.svelte +16 -2
  331. package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
  332. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
  333. package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
  334. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
  335. package/package/components/raw_apps/FileTreeNode.svelte +119 -83
  336. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
  337. package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -3
  338. package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
  339. package/package/components/raw_apps/RawAppEditor.svelte +218 -68
  340. package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
  341. package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
  342. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
  343. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
  344. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
  345. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
  346. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
  347. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
  348. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
  349. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
  350. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
  351. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
  352. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
  353. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
  354. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  355. package/package/components/raw_apps/RawAppModules.svelte +13 -7
  356. package/package/components/raw_apps/RawAppPreview.svelte +48 -6
  357. package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
  358. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
  359. package/package/components/raw_apps/RunnableRow.svelte +41 -0
  360. package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
  361. package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
  362. package/package/components/raw_apps/utils.d.ts +1 -1
  363. package/package/components/raw_apps/utils.js +76 -18
  364. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  365. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  366. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
  367. package/package/components/runs/RunsFilter.svelte +75 -63
  368. package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
  369. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  370. package/package/components/runs/RunsTable.svelte +1 -1
  371. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  372. package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
  373. package/package/components/runs/useJobsLoader.svelte.js +507 -0
  374. package/package/components/schema/EditableSchemaWrapper.svelte +2 -2
  375. package/package/components/scriptEditor/LogPanel.svelte +17 -2
  376. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  377. package/package/components/select/MultiSelect.svelte +1 -1
  378. package/package/components/select/SelectDropdown.svelte +17 -5
  379. package/package/components/settings/AIPromptsModal.svelte +88 -0
  380. package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
  381. package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
  382. package/package/components/settings/ChangeWorkspaceId.svelte +16 -11
  383. package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
  384. package/package/components/settings/CreateToken.svelte +4 -4
  385. package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
  386. package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
  387. package/package/components/settings/WorkspaceUserSettings.svelte +537 -411
  388. package/package/components/sidebar/MenuButton.svelte +54 -24
  389. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  390. package/package/components/sidebar/MultiplayerMenu.svelte +4 -4
  391. package/package/components/sidebar/OperatorMenu.svelte +63 -88
  392. package/package/components/sidebar/SidebarContent.svelte +39 -6
  393. package/package/components/sidebar/UserMenu.svelte +3 -3
  394. package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
  395. package/package/components/sqlTypeService.js +4 -3
  396. package/package/components/table/DataTable.svelte +8 -3
  397. package/package/components/table/DataTable.svelte.d.ts +2 -0
  398. package/package/components/text_input/TextInput.svelte +3 -0
  399. package/package/components/text_input/TextInput.svelte.d.ts +2 -0
  400. package/package/components/triggers/AddTriggersButton.svelte +17 -4
  401. package/package/components/triggers/TriggersEditor.svelte +4 -0
  402. package/package/components/triggers/TriggersWrapper.svelte +14 -0
  403. package/package/components/triggers/native/NativeTriggerEditor.svelte +379 -0
  404. package/package/components/triggers/native/NativeTriggerEditor.svelte.d.ts +26 -0
  405. package/package/components/triggers/native/NativeTriggerTable.svelte +155 -0
  406. package/package/components/triggers/native/NativeTriggerTable.svelte.d.ts +16 -0
  407. package/package/components/triggers/native/NativeTriggersPanel.svelte +40 -0
  408. package/package/components/triggers/native/NativeTriggersPanel.svelte.d.ts +15 -0
  409. package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte +104 -0
  410. package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte.d.ts +18 -0
  411. package/package/components/triggers/native/utils.d.ts +74 -0
  412. package/package/components/triggers/native/utils.js +152 -0
  413. package/package/components/triggers/triggers.svelte.d.ts +2 -1
  414. package/package/components/triggers/triggers.svelte.js +36 -8
  415. package/package/components/triggers/utils.js +18 -6
  416. package/package/components/triggers.d.ts +1 -1
  417. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
  418. package/package/components/tutorials/RunsTutorial.svelte +399 -0
  419. package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
  420. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
  421. package/package/components/tutorials/utils.d.ts +16 -0
  422. package/package/components/tutorials/utils.js +96 -0
  423. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
  424. package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
  425. package/package/components/vscode.js +6 -6
  426. package/package/components/workspace/WorkspaceCard.svelte +184 -0
  427. package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
  428. package/package/components/workspace/WorkspaceIcon.svelte +21 -0
  429. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
  430. package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
  431. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
  432. package/package/components/workspaceSettings/AISettings.svelte +147 -108
  433. package/package/components/workspaceSettings/CreateWorkspace.svelte +26 -12
  434. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +1 -0
  435. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +3 -1
  436. package/package/components/workspaceSettings/DataTableSettings.svelte +2 -1
  437. package/package/components/workspaceSettings/DucklakeSettings.svelte +54 -26
  438. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
  439. package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
  440. package/package/components/workspaceSettings/OAuthClientConfig.svelte +180 -0
  441. package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +14 -0
  442. package/package/components/workspaceSettings/StorageSettings.svelte +285 -241
  443. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  444. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +302 -0
  445. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte.d.ts +3 -0
  446. package/package/consts.js +4 -3
  447. package/package/gen/core/OpenAPI.js +1 -1
  448. package/package/gen/schemas.gen.d.ts +517 -4
  449. package/package/gen/schemas.gen.js +523 -4
  450. package/package/gen/services.gen.d.ts +359 -22
  451. package/package/gen/services.gen.js +702 -44
  452. package/package/gen/types.gen.d.ts +1501 -121
  453. package/package/hub.js +2 -2
  454. package/package/hubPaths.json +3 -2
  455. package/package/infer.js +2 -0
  456. package/package/logout.d.ts +0 -2
  457. package/package/logout.js +2 -23
  458. package/package/logoutKit.d.ts +2 -0
  459. package/package/logoutKit.js +26 -0
  460. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  461. package/package/navigation.d.ts +1 -1
  462. package/package/rawAppWmillTs.d.ts +11 -0
  463. package/package/rawAppWmillTs.js +38 -1
  464. package/package/refreshUser.d.ts +5 -1
  465. package/package/refreshUser.js +20 -30
  466. package/package/storeUtils.js +2 -0
  467. package/package/svelte5Utils.svelte.d.ts +68 -1
  468. package/package/svelte5Utils.svelte.js +193 -2
  469. package/package/svelte5UtilsKit.svelte.d.ts +3 -0
  470. package/package/svelte5UtilsKit.svelte.js +30 -0
  471. package/package/tutorialUtils.js +0 -4
  472. package/package/tutorials/config.js +31 -3
  473. package/package/tutorials/roleUtils.d.ts +1 -1
  474. package/package/tutorials/roleUtils.js +6 -2
  475. package/package/utils.js +162 -1
  476. package/package.json +1 -1
  477. package/package/components/SavedInputs.svelte +0 -416
  478. package/package/components/runs/JobsLoader.svelte +0 -468
  479. package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
  480. package/package/components/schema/SchemaPicker.svelte +0 -92
@@ -1,25 +1,3 @@
1
1
  import type { DbType } from '../../../../../dbTypes';
2
- export type CreateTableValues = {
3
- name: string;
4
- columns: CreateTableValuesColumn[];
5
- foreignKeys: {
6
- targetTable?: string;
7
- columns: {
8
- sourceColumn?: string;
9
- targetColumn?: string;
10
- }[];
11
- onDelete: 'CASCADE' | 'SET NULL' | 'NO ACTION';
12
- onUpdate: 'CASCADE' | 'SET NULL' | 'NO ACTION';
13
- }[];
14
- };
15
- type CreateTableValuesColumn = {
16
- name: string;
17
- datatype: string;
18
- primaryKey?: boolean;
19
- defaultValue?: string;
20
- nullable?: boolean;
21
- datatype_length?: number;
22
- };
23
- export declare function makeCreateTableQuery(values: CreateTableValues, dbType: DbType, schema?: string): string;
24
- export declare function datatypeDefaultLength(datatype: string): number;
25
- export {};
2
+ import type { TableEditorValues } from '../tableEditor';
3
+ export declare function makeCreateTableQuery(values: TableEditorValues, dbType: DbType, schema?: string): string;
@@ -1,6 +1,9 @@
1
1
  import { dbSupportsSchemas } from '../utils';
2
+ import { formatDefaultValue } from './dbQueriesUtils';
2
3
  export function makeCreateTableQuery(values, dbType, schema) {
3
4
  const pkCount = values.columns.reduce((p, c) => p + (c.primaryKey ? 1 : 0), 0);
5
+ if (dbType === 'snowflake')
6
+ schema ??= 'PUBLIC';
4
7
  function transformColumn(c) {
5
8
  const datatype = c.datatype_length ? `${c.datatype}(${c.datatype_length})` : c.datatype;
6
9
  const defValue = c.defaultValue && formatDefaultValue(c.defaultValue, datatype, dbType);
@@ -9,8 +12,12 @@ export function makeCreateTableQuery(values, dbType, schema) {
9
12
  str += ' NOT NULL';
10
13
  if (defValue)
11
14
  str += ` DEFAULT ${defValue}`;
12
- if (pkCount === 1 && c.primaryKey)
13
- str += ' PRIMARY KEY';
15
+ if (pkCount === 1 && c.primaryKey) {
16
+ if (dbType === 'bigquery')
17
+ str += ' PRIMARY KEY NOT ENFORCED';
18
+ else
19
+ str += ' PRIMARY KEY';
20
+ }
14
21
  return str;
15
22
  }
16
23
  function transformFk(fk) {
@@ -31,31 +38,12 @@ export function makeCreateTableQuery(values, dbType, schema) {
31
38
  lines.push(...values.foreignKeys.map(transformFk));
32
39
  if (pkCount > 1) {
33
40
  const pks = values.columns.filter((c) => c.primaryKey);
34
- lines.push(` PRIMARY KEY (${pks.map((c) => c.name).join(', ')})`);
41
+ let pk = ` PRIMARY KEY (${pks.map((c) => c.name).join(', ')})`;
42
+ if (dbType === 'bigquery')
43
+ pk += ' NOT ENFORCED';
44
+ lines.push(pk);
35
45
  }
36
46
  return `CREATE TABLE ${useSchema && schema ? schema.trim() + '.' : ''}${values.name.trim()} (
37
47
  ${lines.join(',\n')}
38
48
  );`;
39
49
  }
40
- function formatDefaultValue(str, datatype, resourceType) {
41
- if (!str)
42
- return '';
43
- if (str.startsWith('{') && str.endsWith('}')) {
44
- return str.slice(1, str.length - 1);
45
- }
46
- if (resourceType === 'postgresql') {
47
- return `CAST('${str}' AS ${datatype})`;
48
- }
49
- return `'${str}'`;
50
- }
51
- export function datatypeDefaultLength(datatype) {
52
- datatype = datatype.toLowerCase();
53
- if (datatype == 'bit')
54
- return 1;
55
- if (['varchar', 'char', 'nvarchar', 'nchar', 'varbinary', 'binary'].includes(datatype)) {
56
- return 255;
57
- }
58
- else {
59
- return 10;
60
- }
61
- }
@@ -0,0 +1,9 @@
1
+ import type { DbType } from '../../../../../dbTypes';
2
+ import type { TableEditorForeignKey, TableEditorValuesColumn } from '../tableEditor';
3
+ export declare function formatDefaultValue(str: string, datatype: string, resourceType: DbType): string;
4
+ export declare function renderColumn(c: TableEditorValuesColumn, dbType: DbType, primaryKeyModifier?: boolean): string;
5
+ export declare function renderForeignKey(fk: TableEditorForeignKey, options: {
6
+ useSchema: boolean;
7
+ dbType: DbType;
8
+ tableName: string;
9
+ }): string;
@@ -0,0 +1,45 @@
1
+ export function formatDefaultValue(str, datatype, resourceType) {
2
+ if (!str)
3
+ return '';
4
+ if (str.startsWith('{') && str.endsWith('}')) {
5
+ return str.slice(1, str.length - 1);
6
+ }
7
+ if (resourceType === 'postgresql') {
8
+ return `CAST('${str}' AS ${datatype})`;
9
+ }
10
+ return `'${str}'`;
11
+ }
12
+ export function renderColumn(c, dbType, primaryKeyModifier = false) {
13
+ const datatype = c.datatype_length ? `${c.datatype}(${c.datatype_length})` : c.datatype;
14
+ const defValue = c.defaultValue && formatDefaultValue(c.defaultValue, datatype, dbType);
15
+ let str = `${c.name} ${datatype}`;
16
+ if (!c.nullable)
17
+ str += ' NOT NULL';
18
+ if (defValue)
19
+ str += ` DEFAULT ${defValue}`;
20
+ if (primaryKeyModifier)
21
+ str += ' PRIMARY KEY';
22
+ return str;
23
+ }
24
+ export function renderForeignKey(fk, options) {
25
+ const sourceColumns = fk.columns.map((c) => c.sourceColumn).filter(Boolean);
26
+ const targetColumns = fk.columns.map((c) => c.targetColumn).filter(Boolean);
27
+ const targetTable = options.useSchema || !fk.targetTable?.includes('.')
28
+ ? fk.targetTable
29
+ : fk.targetTable?.split('.').pop();
30
+ let sql = 'CONSTRAINT ';
31
+ sql += `fk_${[
32
+ options.tableName,
33
+ ...sourceColumns.map((c) => c?.substring(0, 10)),
34
+ targetTable,
35
+ ...targetColumns.map((c) => c?.substring(0, 10))
36
+ ]
37
+ .join('_')
38
+ .replaceAll('.', '_')} `.substring(0, 60);
39
+ sql += ` FOREIGN KEY (${sourceColumns.join(', ')}) REFERENCES ${targetTable} (${targetColumns.join(', ')})`;
40
+ if (fk.onDelete !== 'NO ACTION')
41
+ sql += ` ON DELETE ${fk.onDelete}`;
42
+ if (fk.onUpdate !== 'NO ACTION')
43
+ sql += ` ON UPDATE ${fk.onUpdate}`;
44
+ return sql;
45
+ }
@@ -0,0 +1,45 @@
1
+ import type { DbInput, DbType } from '../../../../../dbTypes';
2
+ import type { ScriptLang } from '../../../../../../gen';
3
+ import type { TableEditorForeignKey } from '../tableEditor';
4
+ /**
5
+ * Raw foreign key result from database queries
6
+ */
7
+ export type RawForeignKey = {
8
+ fk_constraint_name: string;
9
+ source_column: string;
10
+ target_table: string;
11
+ target_column: string;
12
+ on_delete: 'CASCADE' | 'SET NULL' | 'NO ACTION';
13
+ on_update: 'CASCADE' | 'SET NULL' | 'NO ACTION';
14
+ };
15
+ /**
16
+ * Raw primary key constraint result from database queries
17
+ */
18
+ export type RawPrimaryKeyConstraint = {
19
+ constraint_name: string;
20
+ };
21
+ /**
22
+ * Generates SQL query to fetch foreign key information for a specific table
23
+ * @param dbType - The database type
24
+ * @param table - The table name (can include schema, e.g., "schema.table")
25
+ * @param defaultSchema - The default schema to use when table doesn't include one
26
+ * @returns SQL query string
27
+ */
28
+ export declare function makeForeignKeysQuery(dbType: DbType, table: string, defaultSchema?: string): string;
29
+ /**
30
+ * Generates SQL query to fetch primary key constraint name for a specific table
31
+ * @param dbType - The database type
32
+ * @param table - The table name (can include schema, e.g., "schema.table")
33
+ * @param defaultSchema - The default schema to use when table doesn't include one
34
+ * @returns SQL query string
35
+ */
36
+ export declare function makePrimaryKeyConstraintQuery(dbType: DbType, table: string, defaultSchema?: string): string;
37
+ /**
38
+ * Transforms raw foreign key results from database into TableEditorForeignKey format
39
+ * Groups by constraint name and aggregates columns
40
+ */
41
+ export declare function transformForeignKeys(rawResults: RawForeignKey[]): TableEditorForeignKey[];
42
+ export declare function fetchTableRelationalKeys(input: DbInput, dbType: DbType, table: string, schema: string | undefined, workspace: string, dbArg: Record<string, any>, language: ScriptLang): Promise<{
43
+ foreignKeys: TableEditorForeignKey[];
44
+ pk_constraint_name?: string;
45
+ }>;
@@ -0,0 +1,401 @@
1
+ import { wrapDucklakeQuery } from '../../../../../ducklake';
2
+ import { runScriptAndPollResult } from '../../../../../jobs/utils';
3
+ /**
4
+ * Generates SQL query to fetch foreign key information for a specific table
5
+ * @param dbType - The database type
6
+ * @param table - The table name (can include schema, e.g., "schema.table")
7
+ * @param defaultSchema - The default schema to use when table doesn't include one
8
+ * @returns SQL query string
9
+ */
10
+ export function makeForeignKeysQuery(dbType, table, defaultSchema) {
11
+ const tableParts = table.split('.');
12
+ const tableName = tableParts[tableParts.length - 1];
13
+ const schemaName = tableParts.length > 1 ? tableParts[0] : defaultSchema;
14
+ switch (dbType) {
15
+ case 'postgresql':
16
+ return makePostgresForeignKeysQuery(tableName, schemaName || 'public');
17
+ case 'mysql':
18
+ return makeMysqlForeignKeysQuery(tableName, schemaName || '');
19
+ case 'ms_sql_server':
20
+ return makeMsSqlForeignKeysQuery(tableName, schemaName || 'dbo');
21
+ case 'snowflake':
22
+ return makeSnowflakeForeignKeysQuery(tableName, schemaName || 'PUBLIC');
23
+ case 'bigquery':
24
+ return makeBigQueryForeignKeysQuery(tableName, schemaName);
25
+ case 'duckdb':
26
+ return makeDuckDbForeignKeysQuery(tableName, schemaName || 'main');
27
+ default:
28
+ throw new Error(`Unsupported database type: ${dbType}`);
29
+ }
30
+ }
31
+ /**
32
+ * Generates SQL query to fetch primary key constraint name for a specific table
33
+ * @param dbType - The database type
34
+ * @param table - The table name (can include schema, e.g., "schema.table")
35
+ * @param defaultSchema - The default schema to use when table doesn't include one
36
+ * @returns SQL query string
37
+ */
38
+ export function makePrimaryKeyConstraintQuery(dbType, table, defaultSchema) {
39
+ const tableParts = table.split('.');
40
+ const tableName = tableParts[tableParts.length - 1];
41
+ const schemaName = tableParts.length > 1 ? tableParts[0] : defaultSchema;
42
+ switch (dbType) {
43
+ case 'postgresql':
44
+ return makePostgresPrimaryKeyQuery(tableName, schemaName || 'public');
45
+ case 'mysql':
46
+ return makeMysqlPrimaryKeyQuery(tableName, schemaName || '');
47
+ case 'ms_sql_server':
48
+ return makeMsSqlPrimaryKeyQuery(tableName, schemaName || 'dbo');
49
+ case 'snowflake':
50
+ return makeSnowflakePrimaryKeyQuery(tableName, schemaName || 'PUBLIC');
51
+ case 'bigquery':
52
+ return makeBigQueryPrimaryKeyQuery(tableName, schemaName);
53
+ case 'duckdb':
54
+ return makeDuckDbPrimaryKeyQuery(tableName, schemaName || 'main');
55
+ default:
56
+ throw new Error(`Unsupported database type: ${dbType}`);
57
+ }
58
+ }
59
+ /**
60
+ * Transforms raw foreign key results from database into TableEditorForeignKey format
61
+ * Groups by constraint name and aggregates columns
62
+ */
63
+ export function transformForeignKeys(rawResults) {
64
+ // Group by constraint name
65
+ const grouped = new Map();
66
+ for (const fk of rawResults) {
67
+ const existing = grouped.get(fk.fk_constraint_name) || [];
68
+ existing.push(fk);
69
+ grouped.set(fk.fk_constraint_name, existing);
70
+ }
71
+ // Transform to TableEditorForeignKey format
72
+ return Array.from(grouped.values()).map((fks) => {
73
+ const firstFk = fks[0];
74
+ return {
75
+ fk_constraint_name: firstFk.fk_constraint_name,
76
+ targetTable: firstFk.target_table,
77
+ columns: fks.map((fk) => ({
78
+ sourceColumn: fk.source_column,
79
+ targetColumn: fk.target_column
80
+ })),
81
+ onDelete: firstFk.on_delete,
82
+ onUpdate: firstFk.on_update
83
+ };
84
+ });
85
+ }
86
+ // PostgreSQL queries
87
+ function makePostgresForeignKeysQuery(tableName, schemaName) {
88
+ return `
89
+ SELECT
90
+ tc.constraint_name as fk_constraint_name,
91
+ kcu.column_name as source_column,
92
+ ccu.table_schema || '.' || ccu.table_name as target_table,
93
+ ccu.column_name as target_column,
94
+ COALESCE(rc.delete_rule, 'NO ACTION') as on_delete,
95
+ COALESCE(rc.update_rule, 'NO ACTION') as on_update
96
+ FROM
97
+ information_schema.table_constraints AS tc
98
+ JOIN information_schema.key_column_usage AS kcu
99
+ ON tc.constraint_name = kcu.constraint_name
100
+ AND tc.table_schema = kcu.table_schema
101
+ JOIN information_schema.constraint_column_usage AS ccu
102
+ ON ccu.constraint_name = tc.constraint_name
103
+ AND ccu.table_schema = tc.table_schema
104
+ LEFT JOIN information_schema.referential_constraints AS rc
105
+ ON rc.constraint_name = tc.constraint_name
106
+ AND rc.constraint_schema = tc.table_schema
107
+ WHERE
108
+ tc.constraint_type = 'FOREIGN KEY'
109
+ AND tc.table_name = '${tableName}'
110
+ AND tc.table_schema = '${schemaName}'
111
+ ORDER BY
112
+ tc.constraint_name, kcu.ordinal_position;
113
+ `.trim();
114
+ }
115
+ function makePostgresPrimaryKeyQuery(tableName, schemaName) {
116
+ return `
117
+ SELECT
118
+ tc.constraint_name
119
+ FROM
120
+ information_schema.table_constraints AS tc
121
+ WHERE
122
+ tc.constraint_type = 'PRIMARY KEY'
123
+ AND tc.table_name = '${tableName}'
124
+ AND tc.table_schema = '${schemaName}'
125
+ LIMIT 1;
126
+ `.trim();
127
+ }
128
+ // MySQL queries
129
+ function makeMysqlForeignKeysQuery(tableName, schemaName) {
130
+ const whereClause = schemaName
131
+ ? `AND kcu.TABLE_SCHEMA = '${schemaName}'`
132
+ : `AND kcu.TABLE_SCHEMA = DATABASE()`;
133
+ return `
134
+ SELECT
135
+ kcu.CONSTRAINT_NAME as fk_constraint_name,
136
+ kcu.COLUMN_NAME as source_column,
137
+ CONCAT(kcu.REFERENCED_TABLE_SCHEMA, '.', kcu.REFERENCED_TABLE_NAME) as target_table,
138
+ kcu.REFERENCED_COLUMN_NAME as target_column,
139
+ COALESCE(rc.DELETE_RULE, 'NO ACTION') as on_delete,
140
+ COALESCE(rc.UPDATE_RULE, 'NO ACTION') as on_update
141
+ FROM
142
+ INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
143
+ JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
144
+ ON kcu.CONSTRAINT_NAME = rc.CONSTRAINT_NAME
145
+ AND kcu.TABLE_SCHEMA = rc.CONSTRAINT_SCHEMA
146
+ WHERE
147
+ kcu.TABLE_NAME = '${tableName}'
148
+ ${whereClause}
149
+ AND kcu.REFERENCED_TABLE_NAME IS NOT NULL
150
+ ORDER BY
151
+ kcu.CONSTRAINT_NAME, kcu.ORDINAL_POSITION;
152
+ `.trim();
153
+ }
154
+ function makeMysqlPrimaryKeyQuery(tableName, schemaName) {
155
+ const whereClause = schemaName
156
+ ? `AND tc.TABLE_SCHEMA = '${schemaName}'`
157
+ : `AND tc.TABLE_SCHEMA = DATABASE()`;
158
+ return `
159
+ SELECT
160
+ tc.CONSTRAINT_NAME as constraint_name
161
+ FROM
162
+ INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
163
+ WHERE
164
+ tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
165
+ AND tc.TABLE_NAME = '${tableName}'
166
+ ${whereClause}
167
+ LIMIT 1;
168
+ `.trim();
169
+ }
170
+ // MS SQL Server queries
171
+ function makeMsSqlForeignKeysQuery(tableName, schemaName) {
172
+ return `
173
+ SELECT
174
+ fk.name as fk_constraint_name,
175
+ COL_NAME(fkc.parent_object_id, fkc.parent_column_id) as source_column,
176
+ OBJECT_SCHEMA_NAME(fkc.referenced_object_id) + '.' + OBJECT_NAME(fkc.referenced_object_id) as target_table,
177
+ COL_NAME(fkc.referenced_object_id, fkc.referenced_column_id) as target_column,
178
+ CASE fk.delete_referential_action
179
+ WHEN 0 THEN 'NO ACTION'
180
+ WHEN 1 THEN 'CASCADE'
181
+ WHEN 2 THEN 'SET NULL'
182
+ WHEN 3 THEN 'SET DEFAULT'
183
+ END as on_delete,
184
+ CASE fk.update_referential_action
185
+ WHEN 0 THEN 'NO ACTION'
186
+ WHEN 1 THEN 'CASCADE'
187
+ WHEN 2 THEN 'SET NULL'
188
+ WHEN 3 THEN 'SET DEFAULT'
189
+ END as on_update
190
+ FROM
191
+ sys.foreign_keys fk
192
+ INNER JOIN sys.foreign_key_columns fkc
193
+ ON fk.object_id = fkc.constraint_object_id
194
+ INNER JOIN sys.tables t
195
+ ON fk.parent_object_id = t.object_id
196
+ INNER JOIN sys.schemas s
197
+ ON t.schema_id = s.schema_id
198
+ WHERE
199
+ t.name = '${tableName}'
200
+ AND s.name = '${schemaName}'
201
+ ORDER BY
202
+ fk.name, fkc.constraint_column_id;
203
+ `.trim();
204
+ }
205
+ function makeMsSqlPrimaryKeyQuery(tableName, schemaName) {
206
+ return `
207
+ SELECT
208
+ kc.name as constraint_name
209
+ FROM
210
+ sys.key_constraints kc
211
+ INNER JOIN sys.tables t
212
+ ON kc.parent_object_id = t.object_id
213
+ INNER JOIN sys.schemas s
214
+ ON t.schema_id = s.schema_id
215
+ WHERE
216
+ kc.type = 'PK'
217
+ AND t.name = '${tableName}'
218
+ AND s.name = '${schemaName}';
219
+ `.trim();
220
+ }
221
+ // Snowflake queries
222
+ function makeSnowflakeForeignKeysQuery(tableName, schemaName) {
223
+ return `SHOW IMPORTED KEYS IN TABLE ${schemaName}.${tableName}`;
224
+ }
225
+ /**
226
+ * Transforms Snowflake SHOW IMPORTED KEYS result to RawForeignKey format
227
+ * Snowflake returns columns: fk_database_name, fk_schema_name, fk_table_name, fk_column_name,
228
+ * pk_database_name, pk_schema_name, pk_table_name, pk_column_name, key_sequence,
229
+ * update_rule, delete_rule, fk_name, pk_name, deferrability
230
+ */
231
+ function transformSnowflakeForeignKeys(snowflakeResults) {
232
+ if (!snowflakeResults || !Array.isArray(snowflakeResults)) {
233
+ return [];
234
+ }
235
+ return snowflakeResults.map((row) => ({
236
+ fk_constraint_name: row.fk_name || row.FK_NAME || '',
237
+ source_column: row.fk_column_name || row.FK_COLUMN_NAME || '',
238
+ target_table: `${row.pk_schema_name || row.PK_SCHEMA_NAME || ''}.${row.pk_table_name || row.PK_TABLE_NAME || ''}`,
239
+ target_column: row.pk_column_name || row.PK_COLUMN_NAME || '',
240
+ on_delete: (row.delete_rule || row.DELETE_RULE || 'NO ACTION').toUpperCase(),
241
+ on_update: (row.update_rule || row.UPDATE_RULE || 'NO ACTION').toUpperCase()
242
+ }));
243
+ }
244
+ function makeSnowflakePrimaryKeyQuery(tableName, schemaName) {
245
+ return `
246
+ SELECT
247
+ constraint_name
248
+ FROM
249
+ information_schema.table_constraints
250
+ WHERE
251
+ constraint_type = 'PRIMARY KEY'
252
+ AND table_name = '${tableName}'
253
+ AND table_schema = '${schemaName}'
254
+ LIMIT 1;
255
+ `.trim();
256
+ }
257
+ // BigQuery queries
258
+ function makeBigQueryForeignKeysQuery(tableName, schemaName) {
259
+ if (!schemaName) {
260
+ throw new Error('BigQuery requires a dataset (schema) name');
261
+ }
262
+ return `
263
+ SELECT
264
+ tc.constraint_name as fk_constraint_name,
265
+ kcu.column_name as source_column,
266
+ ccu.table_name as target_table,
267
+ ccu.column_name as target_column,
268
+ 'NO ACTION' as on_delete,
269
+ 'NO ACTION' as on_update
270
+ FROM
271
+ \`${schemaName}.INFORMATION_SCHEMA.TABLE_CONSTRAINTS\` tc
272
+ JOIN \`${schemaName}.INFORMATION_SCHEMA.KEY_COLUMN_USAGE\` kcu
273
+ ON tc.constraint_name = kcu.constraint_name
274
+ JOIN \`${schemaName}.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE\` ccu
275
+ ON tc.constraint_name = ccu.constraint_name
276
+ WHERE
277
+ tc.constraint_type = 'FOREIGN KEY'
278
+ AND tc.table_name = '${tableName}'
279
+ ORDER BY
280
+ tc.constraint_name, kcu.ordinal_position;
281
+ `.trim();
282
+ }
283
+ function makeBigQueryPrimaryKeyQuery(tableName, schemaName) {
284
+ if (!schemaName) {
285
+ throw new Error('BigQuery requires a dataset (schema) name');
286
+ }
287
+ return `
288
+ SELECT
289
+ constraint_name
290
+ FROM
291
+ \`${schemaName}.INFORMATION_SCHEMA.TABLE_CONSTRAINTS\`
292
+ WHERE
293
+ constraint_type = 'PRIMARY KEY'
294
+ AND table_name = '${tableName}'
295
+ LIMIT 1;
296
+ `.trim();
297
+ }
298
+ // DuckDB queries
299
+ function makeDuckDbForeignKeysQuery(tableName, schemaName) {
300
+ // DuckDB supports foreign keys starting from v0.9.0
301
+ return `
302
+ SELECT
303
+ fk_constraint.constraint_name as fk_constraint_name,
304
+ kcu.column_name as source_column,
305
+ ccu.table_schema || '.' || ccu.table_name as target_table,
306
+ ccu.column_name as target_column,
307
+ 'NO ACTION' as on_delete,
308
+ 'NO ACTION' as on_update
309
+ FROM
310
+ information_schema.table_constraints fk_constraint
311
+ JOIN information_schema.key_column_usage kcu
312
+ ON fk_constraint.constraint_name = kcu.constraint_name
313
+ AND fk_constraint.constraint_schema = kcu.constraint_schema
314
+ JOIN information_schema.constraint_column_usage ccu
315
+ ON fk_constraint.constraint_name = ccu.constraint_name
316
+ AND fk_constraint.constraint_schema = ccu.constraint_schema
317
+ WHERE
318
+ fk_constraint.constraint_type = 'FOREIGN KEY'
319
+ AND fk_constraint.table_name = '${tableName}'
320
+ AND fk_constraint.table_schema = '${schemaName}'
321
+ ORDER BY
322
+ fk_constraint.constraint_name, kcu.ordinal_position;
323
+ `.trim();
324
+ }
325
+ function makeDuckDbPrimaryKeyQuery(tableName, schemaName) {
326
+ return `
327
+ SELECT
328
+ constraint_name
329
+ FROM
330
+ information_schema.table_constraints
331
+ WHERE
332
+ constraint_type = 'PRIMARY KEY'
333
+ AND table_name = '${tableName}'
334
+ AND table_schema = '${schemaName}'
335
+ LIMIT 1;
336
+ `.trim();
337
+ }
338
+ export async function fetchTableRelationalKeys(input, dbType, table, schema, workspace, dbArg, language) {
339
+ let fkPromise = async () => {
340
+ try {
341
+ if (dbType !== 'bigquery') {
342
+ let fkQuery = makeForeignKeysQuery(dbType, table, schema);
343
+ if (input.type === 'ducklake')
344
+ fkQuery = wrapDucklakeQuery(fkQuery, input.ducklake);
345
+ const fkResult = await runScriptAndPollResult({
346
+ workspace,
347
+ requestBody: { args: dbArg, content: fkQuery, language }
348
+ });
349
+ let rawForeignKeys;
350
+ // Snowflake returns a different format from SHOW IMPORTED KEYS
351
+ if (dbType === 'snowflake') {
352
+ rawForeignKeys = transformSnowflakeForeignKeys(fkResult);
353
+ }
354
+ else {
355
+ rawForeignKeys = fkResult;
356
+ if (rawForeignKeys && Array.isArray(rawForeignKeys)) {
357
+ // Lowercase keys for consistency
358
+ rawForeignKeys = rawForeignKeys.map((fk) => {
359
+ const lowerFk = {};
360
+ Object.keys(fk).forEach((key) => {
361
+ lowerFk[key.toLowerCase()] = fk[key];
362
+ });
363
+ return lowerFk;
364
+ });
365
+ }
366
+ }
367
+ if (rawForeignKeys && Array.isArray(rawForeignKeys)) {
368
+ return transformForeignKeys(rawForeignKeys);
369
+ }
370
+ }
371
+ }
372
+ catch (e) {
373
+ console.warn('Failed to fetch foreign keys:', e);
374
+ }
375
+ return [];
376
+ };
377
+ let pkPromise = async () => {
378
+ try {
379
+ if (dbType !== 'bigquery' && dbType !== 'mysql') {
380
+ let pkQuery = makePrimaryKeyConstraintQuery(dbType, table, schema);
381
+ if (input.type === 'ducklake')
382
+ pkQuery = wrapDucklakeQuery(pkQuery, input.ducklake);
383
+ const pkResult = await runScriptAndPollResult({
384
+ workspace,
385
+ requestBody: { args: dbArg, content: pkQuery, language }
386
+ });
387
+ let rawPkResult = pkResult;
388
+ if (rawPkResult && Array.isArray(rawPkResult) && rawPkResult.length > 0) {
389
+ const pkRecord = rawPkResult[0];
390
+ const pk_constraint_name = pkRecord?.constraint_name || pkRecord?.CONSTRAINT_NAME || '';
391
+ return pk_constraint_name;
392
+ }
393
+ }
394
+ }
395
+ catch (e) {
396
+ console.warn('Failed to fetch primary key constraint:', e);
397
+ }
398
+ };
399
+ const [foreignKeys, pk_constraint_name] = await Promise.all([fkPromise(), pkPromise()]);
400
+ return { foreignKeys, pk_constraint_name };
401
+ }
@@ -4,6 +4,8 @@ import { type ColumnDef } from '../utils';
4
4
  export declare function makeSelectQuery(table: string, columnDefs: ColumnDef[], whereClause: string | undefined, dbType: DbType, options?: {
5
5
  limit?: number;
6
6
  offset?: number;
7
+ }, breakingFeatures?: {
8
+ fixPgIntTypes?: boolean;
7
9
  }): string;
8
10
  export declare function getSelectInput(dbInput: DbInput, table: string | undefined, columnDefs: ColumnDef[], whereClause: string | undefined, options?: {
9
11
  limit?: number;