windmill-components 1.596.1 → 1.612.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 (414) hide show
  1. package/dist/appPolicy/myFunction.es.js +1337 -0
  2. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
  3. package/dist/sharedUtils/base.d.ts +1 -0
  4. package/dist/sharedUtils/cloud.d.ts +1 -0
  5. package/dist/sharedUtils/common.d.ts +108 -0
  6. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
  7. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
  8. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  9. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +11 -0
  10. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
  11. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +84 -0
  12. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
  13. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
  14. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +22 -0
  15. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
  16. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5305 -0
  17. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
  18. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
  19. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
  20. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
  21. package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
  22. package/dist/sharedUtils/components/apps/inputType.d.ts +176 -0
  23. package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
  24. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +19 -0
  25. package/dist/sharedUtils/components/apps/types.d.ts +274 -0
  26. package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
  27. package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
  28. package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
  29. package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
  30. package/dist/sharedUtils/components/common/index.d.ts +24 -0
  31. package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
  32. package/dist/sharedUtils/components/dbTypes.d.ts +11 -0
  33. package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
  34. package/dist/sharedUtils/components/ducklake.d.ts +1 -0
  35. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
  36. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
  37. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
  38. package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
  39. package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
  40. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
  41. package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
  42. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
  43. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
  44. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
  45. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
  46. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
  47. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
  48. package/dist/sharedUtils/components/triggers/utils.d.ts +81 -0
  49. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
  50. package/dist/sharedUtils/components/triggers.d.ts +20 -0
  51. package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
  52. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
  53. package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
  54. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
  55. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
  56. package/dist/sharedUtils/gen/core/request.d.ts +29 -0
  57. package/dist/sharedUtils/gen/index.d.ts +6 -0
  58. package/dist/sharedUtils/gen/schemas.gen.d.ts +6192 -0
  59. package/dist/sharedUtils/gen/services.gen.d.ts +5741 -0
  60. package/dist/sharedUtils/gen/types.gen.d.ts +20152 -0
  61. package/dist/sharedUtils/history.svelte.d.ts +9 -0
  62. package/dist/sharedUtils/hub.d.ts +48 -0
  63. package/dist/sharedUtils/jsr.json +6 -0
  64. package/dist/sharedUtils/lib.d.ts +5 -0
  65. package/dist/sharedUtils/lib.es.js +1426 -0
  66. package/dist/sharedUtils/package.json +12 -0
  67. package/dist/sharedUtils/schema.d.ts +3 -0
  68. package/dist/sharedUtils/stores.d.ts +96 -0
  69. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +49 -0
  70. package/dist/sharedUtils/toast.d.ts +8 -0
  71. package/dist/sharedUtils/utils.d.ts +250 -0
  72. package/package/assets/tokens/tokens.json +11 -1
  73. package/package/ata/apis.js +78 -5
  74. package/package/components/AddUser.svelte +1 -1
  75. package/package/components/CenteredModal.svelte +32 -24
  76. package/package/components/CenteredModal.svelte.d.ts +7 -27
  77. package/package/components/CenteredPage.svelte +5 -2
  78. package/package/components/CenteredPage.svelte.d.ts +2 -0
  79. package/package/components/ConcurrentJobsChart.svelte +3 -2
  80. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  81. package/package/components/CustomPopover.svelte +20 -23
  82. package/package/components/CustomPopover.svelte.d.ts +14 -39
  83. package/package/components/DBManager.svelte +105 -17
  84. package/package/components/DBManager.svelte.d.ts +2 -1
  85. package/package/components/DBManagerContent.svelte +4 -3
  86. package/package/components/DBManagerContent.svelte.d.ts +1 -1
  87. package/package/components/DBTableEditor.svelte +210 -171
  88. package/package/components/DBTableEditor.svelte.d.ts +22 -3
  89. package/package/components/Description.svelte +3 -2
  90. package/package/components/Dev.svelte +36 -2
  91. package/package/components/DiffDrawer.svelte +8 -29
  92. package/package/components/DiffEditor.svelte +32 -2
  93. package/package/components/DisplayResult.svelte +32 -24
  94. package/package/components/Editor.svelte +70 -16
  95. package/package/components/Editor.svelte.d.ts +3 -0
  96. package/package/components/EditorBar.svelte +1 -1
  97. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  98. package/package/components/FlowBuilder.svelte +17 -11
  99. package/package/components/FlowDiffViewer.svelte +37 -0
  100. package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
  101. package/package/components/FlowPreviewContent.svelte +3 -2
  102. package/package/components/FlowPreviewResult.svelte +0 -4
  103. package/package/components/FlowStatusViewerInner.svelte +50 -33
  104. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  105. package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
  106. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
  107. package/package/components/FlowViewer.svelte +103 -2
  108. package/package/components/FlowViewer.svelte.d.ts +9 -3
  109. package/package/components/ForkWorkspaceBanner.svelte +16 -13
  110. package/package/components/GraphqlSchemaViewer.svelte +8 -1
  111. package/package/components/HistoricInputs.svelte +25 -27
  112. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  113. package/package/components/InstanceSetting.svelte +38 -0
  114. package/package/components/InviteUser.svelte +16 -42
  115. package/package/components/InviteUser.svelte.d.ts +4 -18
  116. package/package/components/JobOtelTraces.svelte +287 -0
  117. package/package/components/JobOtelTraces.svelte.d.ts +6 -0
  118. package/package/components/JsonInputs.svelte +6 -8
  119. package/package/components/JsonInputs.svelte.d.ts +7 -8
  120. package/package/components/LogViewer.svelte +91 -33
  121. package/package/components/Login.svelte +21 -0
  122. package/package/components/ManualPopover.svelte +5 -6
  123. package/package/components/ManualPopover.svelte.d.ts +9 -35
  124. package/package/components/MemoryFootprintViewer.svelte +2 -6
  125. package/package/components/ModulePreview.svelte +23 -21
  126. package/package/components/ModulePreview.svelte.d.ts +1 -0
  127. package/package/components/Path.svelte +2 -2
  128. package/package/components/Path.svelte.d.ts +1 -1
  129. package/package/components/ResourcePicker.svelte +3 -0
  130. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  131. package/package/components/RunButton.svelte +5 -15
  132. package/package/components/RunButton.svelte.d.ts +7 -19
  133. package/package/components/RunChart.svelte +8 -4
  134. package/package/components/RunChart.svelte.d.ts +2 -2
  135. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  136. package/package/components/RunsPage.svelte +169 -539
  137. package/package/components/RunsPage.svelte.d.ts +5 -5
  138. package/package/components/S3FilePicker.svelte +7 -11
  139. package/package/components/S3FilePickerInner.svelte +2 -3
  140. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  141. package/package/components/SchemaForm.svelte +26 -19
  142. package/package/components/SchemaFormWithArgPicker.svelte +4 -3
  143. package/package/components/ScriptBuilder.svelte +1 -1
  144. package/package/components/ScriptEditor.svelte +575 -101
  145. package/package/components/Section.svelte +3 -1
  146. package/package/components/ServiceLogsInner.svelte +4 -4
  147. package/package/components/SimpleEditor.svelte +46 -2
  148. package/package/components/SuperadminSettingsInner.svelte +1 -1
  149. package/package/components/TemplateEditor.svelte +54 -29
  150. package/package/components/TemplateEditor.svelte.d.ts +13 -102
  151. package/package/components/UserSettings.svelte +1 -1
  152. package/package/components/WorkerTagPicker.svelte +1 -1
  153. package/package/components/WorkerTagSelect.svelte +5 -2
  154. package/package/components/WorkspaceTutorials.svelte +5 -0
  155. package/package/components/apps/components/buttons/AppButton.svelte +21 -6
  156. package/package/components/apps/components/buttons/AppForm.svelte +2 -1
  157. package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
  158. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +0 -4
  159. package/package/components/apps/components/display/dbtable/metadata.js +69 -30
  160. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
  161. package/package/components/apps/components/display/dbtable/queries/alterTable.js +314 -0
  162. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
  163. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
  164. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
  165. package/package/components/apps/components/display/dbtable/queries/createTable.js +11 -25
  166. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
  167. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
  168. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +47 -0
  169. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +402 -0
  170. package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
  171. package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
  172. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
  173. package/package/components/apps/components/display/dbtable/tableEditor.js +49 -0
  174. package/package/components/apps/components/display/dbtable/utils.d.ts +10 -1
  175. package/package/components/apps/components/display/dbtable/utils.js +52 -20
  176. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  177. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  178. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  179. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
  180. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  181. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  182. package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
  183. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
  184. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  185. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  186. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  187. package/package/components/apps/editor/PublicApp.svelte +49 -30
  188. package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
  189. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
  190. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  191. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  192. package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
  193. package/package/components/apps/inputType.d.ts +6 -1
  194. package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
  195. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  196. package/package/components/common/button/model.js +1 -1
  197. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  198. package/package/components/common/languageIcons/TypeScript.svelte +5 -3
  199. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
  200. package/package/components/common/modal/Modal.svelte +3 -3
  201. package/package/components/copilot/autocomplete/Autocompletor.js +3 -2
  202. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  203. package/package/components/copilot/chat/AIButtonStyle.js +2 -1
  204. package/package/components/copilot/chat/AIChat.svelte +3 -1
  205. package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
  206. package/package/components/copilot/chat/AIChatInput.svelte +275 -0
  207. package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
  208. package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
  209. package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
  210. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
  211. package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
  212. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
  213. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  214. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
  215. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
  216. package/package/components/copilot/chat/app/core.d.ts +56 -15
  217. package/package/components/copilot/chat/app/core.js +141 -22
  218. package/package/components/copilot/chat/context.d.ts +59 -2
  219. package/package/components/copilot/chat/context.js +6 -2
  220. package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
  221. package/package/components/copilot/chat/flow/core.d.ts +3 -1
  222. package/package/components/copilot/chat/flow/core.js +29 -2
  223. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  224. package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
  225. package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
  226. package/package/components/copilot/chat/script/core.d.ts +4 -1
  227. package/package/components/copilot/chat/script/core.js +38 -2
  228. package/package/components/copilot/chat/shared.d.ts +10 -0
  229. package/package/components/copilot/chat/shared.js +24 -0
  230. package/package/components/copilot/lib.d.ts +1 -1
  231. package/package/components/custom_ui.d.ts +1 -0
  232. package/package/components/dbOps.d.ts +18 -4
  233. package/package/components/dbOps.js +25 -3
  234. package/package/components/debug/DebugConsole.svelte +277 -0
  235. package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
  236. package/package/components/debug/DebugPanel.svelte +97 -0
  237. package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
  238. package/package/components/debug/DebugToolbar.svelte +148 -0
  239. package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
  240. package/package/components/debug/DebugVariableViewer.svelte +115 -0
  241. package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
  242. package/package/components/debug/MonacoDebugger.svelte +384 -0
  243. package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
  244. package/package/components/debug/dapClient.d.ts +192 -0
  245. package/package/components/debug/dapClient.js +426 -0
  246. package/package/components/debug/debugUtils.d.ts +30 -0
  247. package/package/components/debug/debugUtils.js +131 -0
  248. package/package/components/debug/index.d.ts +75 -0
  249. package/package/components/debug/index.js +82 -0
  250. package/package/components/flows/CreateActionsApp.svelte +6 -4
  251. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  252. package/package/components/flows/FlowHistoryInner.svelte +15 -4
  253. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  254. package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
  255. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
  256. package/package/components/flows/content/FlowInput.svelte +211 -37
  257. package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
  258. package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
  259. package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
  260. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  261. package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
  262. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
  263. package/package/components/flows/content/McpToolEditor.svelte +50 -37
  264. package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
  265. package/package/components/flows/conversations/FlowChat.svelte +16 -2
  266. package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
  267. package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
  268. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
  269. package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
  270. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  271. package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
  272. package/package/components/flows/types.d.ts +2 -0
  273. package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
  274. package/package/components/home/ItemsList.svelte +5 -5
  275. package/package/components/home/TutorialBanner.svelte +34 -18
  276. package/package/components/icons/CssIcon.svelte +20 -0
  277. package/package/components/icons/CssIcon.svelte.d.ts +7 -25
  278. package/package/components/icons/HtmlIcon.svelte +20 -0
  279. package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
  280. package/package/components/icons/JavaScriptIcon.svelte +10 -2
  281. package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
  282. package/package/components/icons/JsonIcon.svelte +8 -2
  283. package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
  284. package/package/components/icons/LessIcon.svelte +16 -0
  285. package/package/components/icons/LessIcon.svelte.d.ts +8 -0
  286. package/package/components/icons/MarkdownIcon.svelte +20 -0
  287. package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
  288. package/package/components/icons/ReactIcon.svelte +10 -2
  289. package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
  290. package/package/components/icons/SassIcon.svelte +28 -0
  291. package/package/components/icons/SassIcon.svelte.d.ts +8 -0
  292. package/package/components/icons/SvelteIcon.svelte +10 -2
  293. package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
  294. package/package/components/icons/VueIcon.svelte +10 -2
  295. package/package/components/icons/VueIcon.svelte.d.ts +1 -0
  296. package/package/components/icons/YamlIcon.svelte +20 -0
  297. package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
  298. package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
  299. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
  300. package/package/components/instanceSettings.d.ts +2 -1
  301. package/package/components/instanceSettings.js +32 -1
  302. package/package/components/jobs/JobPreview.svelte +46 -39
  303. package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
  304. package/package/components/monacoLanguagesOptions.js +16 -15
  305. package/package/components/propertyPicker/PropPicker.svelte +16 -2
  306. package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
  307. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
  308. package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
  309. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
  310. package/package/components/raw_apps/FileTreeNode.svelte +119 -83
  311. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
  312. package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
  313. package/package/components/raw_apps/RawAppEditor.svelte +218 -68
  314. package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
  315. package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
  316. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
  317. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
  318. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
  319. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
  320. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
  321. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
  322. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
  323. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
  324. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
  325. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
  326. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
  327. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
  328. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  329. package/package/components/raw_apps/RawAppModules.svelte +13 -7
  330. package/package/components/raw_apps/RawAppPreview.svelte +48 -6
  331. package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
  332. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
  333. package/package/components/raw_apps/RunnableRow.svelte +41 -0
  334. package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
  335. package/package/components/raw_apps/utils.d.ts +1 -1
  336. package/package/components/raw_apps/utils.js +76 -18
  337. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  338. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  339. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
  340. package/package/components/runs/RunsFilter.svelte +75 -63
  341. package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
  342. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  343. package/package/components/runs/RunsTable.svelte +1 -1
  344. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  345. package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
  346. package/package/components/runs/useJobsLoader.svelte.js +507 -0
  347. package/package/components/scriptEditor/LogPanel.svelte +17 -2
  348. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  349. package/package/components/select/SelectDropdown.svelte +2 -2
  350. package/package/components/settings/AIPromptsModal.svelte +88 -0
  351. package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
  352. package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
  353. package/package/components/settings/ChangeWorkspaceId.svelte +14 -10
  354. package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
  355. package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
  356. package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
  357. package/package/components/settings/WorkspaceUserSettings.svelte +531 -406
  358. package/package/components/sidebar/MenuButton.svelte +46 -24
  359. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  360. package/package/components/sidebar/MultiplayerMenu.svelte +3 -3
  361. package/package/components/sidebar/OperatorMenu.svelte +62 -87
  362. package/package/components/sidebar/SidebarContent.svelte +7 -2
  363. package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
  364. package/package/components/sqlTypeService.js +4 -3
  365. package/package/components/table/DataTable.svelte +3 -2
  366. package/package/components/table/DataTable.svelte.d.ts +1 -0
  367. package/package/components/text_input/TextInput.svelte +3 -0
  368. package/package/components/text_input/TextInput.svelte.d.ts +2 -0
  369. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
  370. package/package/components/tutorials/RunsTutorial.svelte +399 -0
  371. package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
  372. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
  373. package/package/components/tutorials/utils.d.ts +16 -0
  374. package/package/components/tutorials/utils.js +96 -0
  375. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
  376. package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
  377. package/package/components/vscode.js +6 -6
  378. package/package/components/workspace/WorkspaceCard.svelte +184 -0
  379. package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
  380. package/package/components/workspace/WorkspaceIcon.svelte +21 -0
  381. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
  382. package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
  383. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
  384. package/package/components/workspaceSettings/AISettings.svelte +146 -108
  385. package/package/components/workspaceSettings/CreateWorkspace.svelte +25 -11
  386. package/package/components/workspaceSettings/DucklakeSettings.svelte +46 -23
  387. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
  388. package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
  389. package/package/components/workspaceSettings/StorageSettings.svelte +280 -241
  390. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  391. package/package/consts.js +4 -1
  392. package/package/gen/core/OpenAPI.js +1 -1
  393. package/package/gen/schemas.gen.d.ts +126 -0
  394. package/package/gen/schemas.gen.js +126 -0
  395. package/package/gen/services.gen.d.ts +160 -2
  396. package/package/gen/services.gen.js +319 -4
  397. package/package/gen/types.gen.d.ts +607 -2
  398. package/package/hubPaths.json +3 -2
  399. package/package/infer.js +2 -0
  400. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  401. package/package/rawAppWmillTs.d.ts +11 -0
  402. package/package/rawAppWmillTs.js +38 -1
  403. package/package/svelte5Utils.svelte.d.ts +9 -0
  404. package/package/svelte5Utils.svelte.js +51 -1
  405. package/package/tutorialUtils.js +0 -4
  406. package/package/tutorials/config.js +31 -3
  407. package/package/tutorials/roleUtils.d.ts +1 -1
  408. package/package/tutorials/roleUtils.js +6 -2
  409. package/package/utils.js +159 -1
  410. package/package.json +16 -17
  411. package/package/components/SavedInputs.svelte +0 -416
  412. package/package/components/runs/JobsLoader.svelte +0 -468
  413. package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
  414. package/package/components/schema/SchemaPicker.svelte +0 -92
@@ -0,0 +1,35 @@
1
+ import type { ColumnMetadata, TableMetadata } from './utils';
2
+ export type TableEditorValues = {
3
+ name: string;
4
+ columns: TableEditorValuesColumn[];
5
+ foreignKeys: TableEditorForeignKey[];
6
+ pk_constraint_name?: string;
7
+ };
8
+ export type TableEditorValuesColumn = {
9
+ name: string;
10
+ datatype: string;
11
+ primaryKey?: boolean;
12
+ defaultValue?: string;
13
+ nullable?: boolean;
14
+ datatype_length?: number;
15
+ initialName?: string;
16
+ default_constraint_name?: string;
17
+ };
18
+ export type TableEditorForeignKey = {
19
+ targetTable?: string;
20
+ columns: {
21
+ sourceColumn?: string;
22
+ targetColumn?: string;
23
+ }[];
24
+ onDelete: 'CASCADE' | 'SET NULL' | 'NO ACTION';
25
+ onUpdate: 'CASCADE' | 'SET NULL' | 'NO ACTION';
26
+ fk_constraint_name?: string;
27
+ };
28
+ export declare function datatypeDefaultLength(datatype: string): number;
29
+ export declare function buildTableEditorValues({ metadata, tableName, pk_constraint_name, foreignKeys }: {
30
+ metadata: TableMetadata;
31
+ tableName: string;
32
+ pk_constraint_name?: string;
33
+ foreignKeys: TableEditorForeignKey[];
34
+ }): TableEditorValues;
35
+ export declare function columnDefToTableEditorValuesColumn(colDef: ColumnMetadata): TableEditorValuesColumn;
@@ -0,0 +1,49 @@
1
+ import { countChars } from '../../../../../utils';
2
+ export function datatypeDefaultLength(datatype) {
3
+ datatype = datatype.toLowerCase();
4
+ if (datatype == 'bit')
5
+ return 1;
6
+ if (['varchar', 'char', 'nvarchar', 'nchar', 'varbinary', 'binary'].includes(datatype)) {
7
+ return 255;
8
+ }
9
+ else {
10
+ return 10;
11
+ }
12
+ }
13
+ export function buildTableEditorValues({ metadata, tableName, pk_constraint_name, foreignKeys }) {
14
+ return {
15
+ name: tableName,
16
+ columns: metadata.map(columnDefToTableEditorValuesColumn),
17
+ pk_constraint_name,
18
+ foreignKeys
19
+ };
20
+ }
21
+ export function columnDefToTableEditorValuesColumn(colDef) {
22
+ let datatype;
23
+ let datatype_length;
24
+ const match = colDef.datatype?.match(/^([\w\s]+?)(?:\((\d+)\))?(\[\])?$/);
25
+ if (match) {
26
+ datatype = match[1].replace(/\s+/g, ' ').trim().toUpperCase() + (match[3] || ''); // Normalize spaces and add '[]' if it's an array type
27
+ datatype_length = match[2] ? parseInt(match[2], 10) : datatypeDefaultLength(datatype);
28
+ }
29
+ else {
30
+ datatype = colDef.datatype?.replace(/\s+/g, ' ').toUpperCase() || 'UNKNOWN';
31
+ }
32
+ const defaultValue = colDef.defaultvalue
33
+ ? colDef.defaultvalue.startsWith("'") &&
34
+ colDef.defaultvalue.endsWith("'") &&
35
+ countChars(colDef.defaultvalue, "'") === 2
36
+ ? colDef.defaultvalue.substring(1, colDef.defaultvalue.length - 1)
37
+ : `{${colDef.defaultvalue}}`
38
+ : undefined;
39
+ return {
40
+ name: colDef.field,
41
+ primaryKey: colDef.isprimarykey,
42
+ defaultValue,
43
+ nullable: colDef.isnullable !== 'NO',
44
+ datatype,
45
+ datatype_length,
46
+ initialName: colDef.field,
47
+ default_constraint_name: colDef.default_constraint_name
48
+ };
49
+ }
@@ -1,7 +1,7 @@
1
1
  import type { ScriptLang } from '../../../../../gen';
2
2
  import type { SQLSchema } from '../../../../../stores';
3
3
  import { type IntrospectionQuery } from 'graphql';
4
- import type { DbType } from '../../../../dbTypes';
4
+ import type { DbInput, DbType } from '../../../../dbTypes';
5
5
  export declare enum ColumnIdentity {
6
6
  ByDefault = "By Default",
7
7
  Always = "Always",
@@ -15,6 +15,7 @@ export type ColumnMetadata = {
15
15
  isidentity: ColumnIdentity;
16
16
  isnullable: 'YES' | 'NO';
17
17
  isenum: boolean;
18
+ default_constraint_name?: string;
18
19
  };
19
20
  export type TableMetadata = ColumnMetadata[];
20
21
  export type ColumnDef = {
@@ -75,6 +76,7 @@ export declare function formatSchema(dbSchema: {
75
76
  };
76
77
  export declare function formatGraphqlSchema(schema: IntrospectionQuery): string;
77
78
  export declare function buildVisibleFieldList(columnDefs: ColumnDef[], dbType: DbType): string[];
79
+ export declare function renderDbQuotedIdentifier(identifier: string, dbType: DbType): string;
78
80
  export declare function getLanguageByResourceType(name: string): ScriptLang;
79
81
  export declare function buildParameters(columns: Array<{
80
82
  field: string;
@@ -84,3 +86,10 @@ export declare function getPrimaryKeys(tableMetadata?: TableMetadata): string[];
84
86
  export declare function dbSupportsSchemas(dbType: DbType): boolean;
85
87
  export declare function datatypeHasLength(datatype: string): boolean;
86
88
  export declare function sqlDataTypeToJsTypeHeuristic(datatype: string): string;
89
+ export type DbFeatures = {
90
+ foreignKeys?: boolean;
91
+ primaryKeys?: boolean;
92
+ defaultValues?: boolean;
93
+ defaultToNotNull?: boolean;
94
+ };
95
+ export declare function getDbFeatures(dbInput: DbInput): Required<DbFeatures>;
@@ -168,7 +168,9 @@ return schema
168
168
  code: `select TABLE_SCHEMA, TABLE_NAME, DATA_TYPE, COLUMN_NAME, COLUMN_DEFAULT from information_schema.columns where table_schema != 'sys'`,
169
169
  lang: 'mssql',
170
170
  processingFn: (rows) => {
171
- const schemas = rows[0].reduce((acc, a) => {
171
+ if (!rows || rows.length === 0)
172
+ return {};
173
+ const schemas = rows.reduce((acc, a) => {
172
174
  const table_schema = a.TABLE_SCHEMA;
173
175
  delete a.TABLE_SCHEMA;
174
176
  acc[table_schema] = acc[table_schema] || [];
@@ -223,30 +225,32 @@ export function buildVisibleFieldList(columnDefs, dbType) {
223
225
  // Filter out hidden columns to avoid counting the wrong number of rows
224
226
  return columnDefs
225
227
  .filter((columnDef) => columnDef && columnDef.ignored !== true)
226
- .map((column) => {
227
- switch (dbType) {
228
- case 'postgresql':
229
- return `"${column?.field}"`; // PostgreSQL uses double quotes for identifiers
230
- case 'ms_sql_server':
231
- return `[${column?.field}]`; // MSSQL uses square brackets for identifiers
232
- case 'mysql':
233
- return `\`${column?.field}\``; // MySQL uses backticks
234
- case 'snowflake':
235
- return `"${column?.field}"`; // Snowflake uses double quotes for identifiers
236
- case 'bigquery':
237
- return `\`${column?.field}\``; // BigQuery uses backticks
238
- case 'duckdb':
239
- return `"${column?.field}"`; // DuckDB uses double quotes for identifiers
240
- default:
241
- throw new Error('Unsupported database type: ' + dbType);
242
- }
243
- });
228
+ .map((column) => renderDbQuotedIdentifier(column?.field, dbType));
229
+ }
230
+ export function renderDbQuotedIdentifier(identifier, dbType) {
231
+ switch (dbType) {
232
+ case 'postgresql':
233
+ return `"${identifier}"`; // PostgreSQL uses double quotes for identifiers
234
+ case 'ms_sql_server':
235
+ return `[${identifier}]`; // MSSQL uses square brackets for identifiers
236
+ case 'mysql':
237
+ return `\`${identifier}\``; // MySQL uses backticks
238
+ case 'snowflake':
239
+ return `"${identifier}"`; // Snowflake uses double quotes for identifiers
240
+ case 'bigquery':
241
+ return `\`${identifier}\``; // BigQuery uses backticks
242
+ case 'duckdb':
243
+ return `"${identifier}"`; // DuckDB uses double quotes for identifiers
244
+ default:
245
+ throw new Error('Unsupported database type: ' + dbType);
246
+ }
244
247
  }
245
248
  export function getLanguageByResourceType(name) {
246
249
  const language = {
247
250
  postgresql: 'postgresql',
248
251
  mysql: 'mysql',
249
252
  ms_sql_server: 'mssql',
253
+ mssql: 'mssql',
250
254
  snowflake: 'snowflake',
251
255
  snowflake_oauth: 'snowflake',
252
256
  bigquery: 'bigquery',
@@ -286,7 +290,17 @@ export function dbSupportsSchemas(dbType) {
286
290
  }
287
291
  export function datatypeHasLength(datatype) {
288
292
  datatype = datatype.toLowerCase();
289
- const lengthDataTypes = ['varchar', 'char', 'nvarchar', 'nchar', 'varbinary', 'binary', 'bit'];
293
+ const lengthDataTypes = [
294
+ 'varchar',
295
+ 'char',
296
+ 'nvarchar',
297
+ 'nchar',
298
+ 'varbinary',
299
+ 'binary',
300
+ 'bit',
301
+ 'character varying',
302
+ 'character'
303
+ ];
290
304
  return lengthDataTypes.some((type) => datatype === type);
291
305
  }
292
306
  export function sqlDataTypeToJsTypeHeuristic(datatype) {
@@ -323,3 +337,21 @@ export function sqlDataTypeToJsTypeHeuristic(datatype) {
323
337
  return 'any';
324
338
  }
325
339
  }
340
+ export function getDbFeatures(dbInput) {
341
+ const def = {
342
+ foreignKeys: true,
343
+ primaryKeys: true,
344
+ defaultValues: true,
345
+ defaultToNotNull: true
346
+ };
347
+ if (dbInput.type == 'ducklake')
348
+ return { ...def, foreignKeys: false, primaryKeys: false };
349
+ if (dbInput.resourceType == 'bigquery')
350
+ return {
351
+ foreignKeys: false,
352
+ primaryKeys: true,
353
+ defaultValues: false,
354
+ defaultToNotNull: false
355
+ };
356
+ return { ...def };
357
+ }
@@ -35,7 +35,7 @@ let outputs = initOutput($worldStore, id, {
35
35
  {runnable}
36
36
  wrapperClass="hidden"
37
37
  recomputableByRefreshButton={runnable.autoRefresh ?? true}
38
- on:success={onSuccess}
38
+ onSuccess={(_r) => onSuccess()}
39
39
  {outputs}
40
40
  >
41
41
  {@render children?.()}
@@ -111,7 +111,7 @@ async function handleConnection() {
111
111
  lastExprHash = nhash;
112
112
  }
113
113
  else if (input?.type == 'evalv2') {
114
- // console.log('evalv2', onDemandOnly, field)
114
+ // console.log('evalv2', onDemandOnly, field, exportValueFunction, key)
115
115
  if (onDemandOnly && exportValueFunction) {
116
116
  value = (args) => {
117
117
  return evalExpr(input, args);
@@ -33,7 +33,7 @@ $effect.pre(() => {
33
33
  {:else}
34
34
  {#if debug}
35
35
  <pre class="text-2xs">
36
- key: {key}
36
+ key: {key}
37
37
  {JSON.stringify({ r: resolvedConfig })}
38
38
  {JSON.stringify(configuration)}</pre
39
39
  >
@@ -18,7 +18,7 @@ import { computeWorkspaceS3FileInputPolicy } from '../../editor/appUtilsS3';
18
18
  import { executeRunnable } from './executeRunnable';
19
19
  import SchemaForm from '../../../SchemaForm.svelte';
20
20
  import JobLoader, {} from '../../../JobLoader.svelte';
21
- let { id, fields, runnable, transformer, extraQueryParams = {}, autoRefresh = true, result = $bindable(undefined), result_stream = $bindable(undefined), forceSchemaDisplay = false, wrapperClass = '', wrapperStyle = '', render, outputs, extraKey = '', initializing = false, recomputeOnInputChanged = true, loading = $bindable(false), refreshOnStart = false, recomputableByRefreshButton, errorHandledByComponent = false, hideRefreshButton = false, allowConcurentRequests = false, noInitialize = false, overrideCallback = undefined, overrideAutoRefresh = false, replaceCallback = false, children, nonRenderedPlaceholder } = $props();
21
+ let { id, fields, runnable, transformer, extraQueryParams = {}, autoRefresh = true, result = $bindable(undefined), result_stream = $bindable(undefined), forceSchemaDisplay = false, wrapperClass = '', wrapperStyle = '', render, outputs, extraKey = '', initializing = false, recomputeOnInputChanged = true, loading = $bindable(false), refreshOnStart = false, recomputableByRefreshButton, errorHandledByComponent = false, hideRefreshButton = false, allowConcurentRequests = false, noInitialize = false, overrideCallback = undefined, overrideAutoRefresh = false, replaceCallback = false, children, nonRenderedPlaceholder, onSuccess } = $props();
22
22
  const { worldStore, runnableComponents, workspace, appPath, isEditor, jobs, jobsById, noBackend, errorByComponent, mode, stateId, state: stateStore, componentControl, initialized, selectedComponent, app, connectingInput, bgRuns, recomputeAllContext } = getContext('AppViewerContext');
23
23
  const editorContext = getContext('AppEditorContext');
24
24
  const iterContext = getContext('ListWrapperContext');
@@ -354,6 +354,7 @@ export async function runComponent(noToast = true, inlineScriptOverride, setRunn
354
354
  let error = e?.body ?? e?.message;
355
355
  updateResult({ error });
356
356
  $errorByComponent[id] = { error };
357
+ loading = false; // Ensure loading is reset on any error
357
358
  }
358
359
  }
359
360
  function recordJob(jobId, result, jobError, transformer) {
@@ -449,7 +450,7 @@ async function setResult(res, jobId, dispatchSuccess = true) {
449
450
  recordJob(jobId, result, undefined, transformerResult);
450
451
  delete $errorByComponent[id];
451
452
  if (dispatchSuccess) {
452
- dispatch('success', result);
453
+ onSuccess?.(result);
453
454
  }
454
455
  // callbacks?.done(res)
455
456
  }
@@ -34,6 +34,7 @@ interface Props {
34
34
  overrideCallback?: (() => CancelablePromise<void>) | undefined;
35
35
  overrideAutoRefresh?: boolean;
36
36
  replaceCallback?: boolean;
37
+ onSuccess?: (result: any) => void;
37
38
  children?: import('svelte').Snippet;
38
39
  nonRenderedPlaceholder?: import('svelte').Snippet;
39
40
  }
@@ -63,7 +64,6 @@ declare const RunnableComponent: $$__sveltets_2_IsomorphicComponent<Props, {
63
64
  doneError: CustomEvent<any>;
64
65
  resultSet: CustomEvent<any>;
65
66
  handleError: CustomEvent<any>;
66
- success: CustomEvent<any>;
67
67
  recompute: CustomEvent<any>;
68
68
  argsChanged: CustomEvent<any>;
69
69
  } & {
@@ -235,8 +235,8 @@ async function executeSideEffect(sideEffect, success = true, errorMessage) {
235
235
 
236
236
  initializing = false
237
237
  }}
238
- on:success={(e) => {
239
- onSuccess(e.detail)
238
+ onSuccess={(result) => {
239
+ onSuccess(result)
240
240
  handleSideEffect(true)
241
241
  }}
242
242
  on:handleError={(e) => handleSideEffect(false, e.detail)}
@@ -608,13 +608,20 @@ let hasErrors = $derived(Object.keys($errorByComponent).length > 0);
608
608
  startIcon={{ icon: Save }}
609
609
  disabled={pathError != ''}
610
610
  on:click={() => saveInitialDraft()}
611
+ unifiedSize="md"
612
+ variant="accent"
611
613
  >
612
614
  Save initial draft
613
615
  </Button>
614
616
  </div>
615
617
  {/snippet}
616
618
 
617
- <AppEditorHeaderDeployInitialDraft {summary} {appPath} bind:pathError bind:newEditedPath />
619
+ <AppEditorHeaderDeployInitialDraft
620
+ bind:summary={$summary}
621
+ bind:appPath={$appPath}
622
+ bind:pathError
623
+ bind:newEditedPath
624
+ />
618
625
  </DrawerContent>
619
626
  </Drawer>
620
627
  {/if}
@@ -11,6 +11,7 @@ import { computeSecretUrl } from './appDeploy.svelte';
11
11
  import { base } from '../../../base';
12
12
  import { isCloudHosted } from '../../../cloud';
13
13
  import EEOnly from '../../EEOnly.svelte';
14
+ import TextInput from '../../text_input/TextInput.svelte';
14
15
  let { policy, setPublishState, appPath, customPath = $bindable(), onLatest, savedApp, summary = $bindable(), deploymentMsg = $bindable(), customPathError = $bindable(), pathError = $bindable(), newEditedPath = $bindable(), newPath, hideSecretUrl = false } = $props();
15
16
  let dirtyCustomPath = $state(false);
16
17
  let path = $state(undefined);
@@ -76,44 +77,46 @@ $effect(() => {
76
77
  </Alert>
77
78
  <div class="py-2"></div>
78
79
  {/if}
79
- <span class="text-secondary text-sm font-bold">Summary</span>
80
- <div class="w-full pt-2">
80
+ <label for="summary" class="text-emphasis text-xs font-semibold">Summary</label>
81
+ <div class="w-full pt-1">
81
82
  <!-- svelte-ignore a11y_autofocus -->
82
- <input
83
- autofocus
84
- type="text"
85
- placeholder="App summary"
86
- class="text-sm w-full"
87
- bind:value={summary}
88
- onkeydown={(e) => {
89
- e.stopPropagation()
90
- }}
91
- onkeyup={() => {
92
- if (appPath == '' && summary?.length > 0 && !dirtyPath) {
93
- path?.setName(
94
- summary
95
- .toLowerCase()
96
- .replace(/[^a-z0-9_]/g, '_')
97
- .replace(/-+/g, '_')
98
- .replace(/^-|-$/g, '')
99
- )
83
+ <TextInput
84
+ inputProps={{
85
+ id: 'summary',
86
+ autofocus: true,
87
+ placeholder: 'App summary',
88
+ onkeydown: (e) => {
89
+ e.stopPropagation()
90
+ },
91
+ onkeyup: () => {
92
+ if (appPath == '' && summary?.length > 0 && !dirtyPath) {
93
+ path?.setName(
94
+ summary
95
+ .toLowerCase()
96
+ .replace(/[^a-z0-9_]/g, '_')
97
+ .replace(/-+/g, '_')
98
+ .replace(/^-|-$/g, '')
99
+ )
100
+ }
100
101
  }
101
102
  }}
103
+ bind:value={summary}
102
104
  />
103
105
  </div>
104
- <div class="py-4"></div>
105
- <span class="text-secondary text-sm font-bold">Deployment message</span>
106
- <div class="w-full pt-2">
106
+ <div class="py-6"></div>
107
+ <label for="deploymentMsg" class="text-emphasis text-xs font-semibold">Deployment message</label>
108
+ <div class="w-full pt-1">
107
109
  <!-- svelte-ignore a11y_autofocus -->
108
- <input
109
- type="text"
110
- placeholder="Optional deployment message"
111
- class="text-sm w-full"
110
+ <TextInput
111
+ inputProps={{
112
+ id: 'deploymentMsg',
113
+ placeholder: 'Optional deployment message'
114
+ }}
112
115
  bind:value={deploymentMsg}
113
116
  />
114
117
  </div>
115
- <div class="py-4"></div>
116
- <span class="text-secondary text-sm font-bold">Path</span>
118
+ <div class="py-6"></div>
119
+ <label for="path" class="text-emphasis text-xs font-semibold">Path</label>
117
120
  <Path
118
121
  bind:this={path}
119
122
  bind:dirty={dirtyPath}
@@ -11,8 +11,8 @@ type $$ComponentProps = {
11
11
  pathError: string;
12
12
  newEditedPath: string;
13
13
  newPath: string;
14
- hideSecretUrl: boolean;
14
+ hideSecretUrl?: boolean;
15
15
  };
16
- declare const AppEditorHeaderDeploy: import("svelte").Component<$$ComponentProps, {}, "summary" | "customPath" | "deploymentMsg" | "customPathError" | "pathError" | "newEditedPath">;
16
+ declare const AppEditorHeaderDeploy: import("svelte").Component<$$ComponentProps, {}, "summary" | "pathError" | "customPath" | "deploymentMsg" | "customPathError" | "newEditedPath">;
17
17
  type AppEditorHeaderDeploy = ReturnType<typeof AppEditorHeaderDeploy>;
18
18
  export default AppEditorHeaderDeploy;
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">import { Alert } from '../../common';
2
2
  import Path from '../../Path.svelte';
3
- let { summary, appPath, pathError = $bindable(), newEditedPath = $bindable() } = $props();
3
+ let { summary = $bindable(), appPath = $bindable(), pathError = $bindable(), newEditedPath = $bindable() } = $props();
4
4
  let path = $state(undefined);
5
5
  let dirtyPath = $state(false);
6
6
  </script>
@@ -19,11 +19,11 @@ let dirtyPath = $state(false);
19
19
  onkeydown={(e) => {
20
20
  e.stopPropagation()
21
21
  }}
22
- bind:value={$summary}
22
+ bind:value={summary}
23
23
  onkeyup={() => {
24
- if ($appPath == '' && $summary?.length > 0 && !dirtyPath) {
24
+ if (appPath == '' && summary?.length > 0 && !dirtyPath) {
25
25
  path?.setName(
26
- $summary
26
+ summary
27
27
  .toLowerCase()
28
28
  .replace(/[^a-z0-9_]/g, '_')
29
29
  .replace(/-+/g, '_')
@@ -1,8 +1,8 @@
1
1
  declare const AppEditorHeaderDeployInitialDraft: import("svelte").Component<{
2
- summary: any;
3
- appPath: any;
2
+ summary?: any;
3
+ appPath?: any;
4
4
  pathError?: any;
5
5
  newEditedPath?: any;
6
- }, {}, "pathError" | "newEditedPath">;
6
+ }, {}, "summary" | "appPath" | "pathError" | "newEditedPath">;
7
7
  type AppEditorHeaderDeployInitialDraft = ReturnType<typeof AppEditorHeaderDeployInitialDraft>;
8
8
  export default AppEditorHeaderDeployInitialDraft;
@@ -12,9 +12,12 @@ import { UserService } from '../../../gen';
12
12
  import { urlParamsToObject } from '../../../utils';
13
13
  import { goto } from '$app/navigation';
14
14
  import AppPreview from './AppPreview.svelte';
15
+ import RawAppPreview from '../../raw_apps/RawAppPreview.svelte';
15
16
  import { twMerge } from 'tailwind-merge';
16
17
  import { writable } from 'svelte/store';
17
18
  let { notExists, noPermission, jwtError, onLoginSuccess, app, workspace } = $props();
19
+ // Use workspace from props or from app.workspace_id (for custom path responses)
20
+ let effectiveWorkspace = $derived(workspace ?? app?.workspace_id);
18
21
  setContext(IS_APP_PUBLIC_CONTEXT_KEY, true);
19
22
  const breakpoint = writable('lg');
20
23
  const darkMode = window.localStorage.getItem('dark-mode') ??
@@ -77,9 +80,9 @@ onMount(() => {
77
80
  {:else if noPermission}
78
81
  <div class="px-4 mt-20 w-full text-center font-bold text-xl"> This app requires read access </div>
79
82
  <div class="text-center mt-8 text-sm text-primary">
80
- {#if $userStore}You are logged in but have no read access to this app{:else if globalUser && workspace}
83
+ {#if $userStore}You are logged in but have no read access to this app{:else if globalUser && effectiveWorkspace}
81
84
  You are logged in but are not a member of the workspace <span class="text-xl font-bold"
82
- >{workspace}</span
85
+ >{effectiveWorkspace}</span
83
86
  > this app is part of
84
87
  {:else}You must be logged in and have read access to this app{/if}</div
85
88
  >
@@ -90,35 +93,51 @@ onMount(() => {
90
93
  </div>
91
94
  {:else if app}
92
95
  {#key app}
93
- <div
94
- class={twMerge(
95
- 'min-h-screen h-full w-full flex',
96
- app?.value?.['css']?.['app']?.['viewer']?.class,
97
- 'wm-app-viewer'
98
- )}
99
- style={app?.value?.['css']?.['app']?.['viewer']?.style}
100
- >
101
- <AppPreview
102
- noBackend={false}
103
- context={{
104
- email: $userStore?.email,
105
- name: $userStore?.name,
106
- groups: $userStore?.groups,
107
- username: $userStore?.username,
108
- query: urlParamsToObject(page.url.searchParams),
109
- hash: page.url.hash.substring(1)
110
- }}
111
- {workspace}
112
- summary={app.summary}
113
- app={app.value}
114
- appPath={app.path}
115
- {breakpoint}
116
- policy={app.policy}
117
- isEditor={false}
118
- replaceStateFn={(path) => goto(path)}
119
- gotoFn={(path, opt) => goto(path, opt)}
96
+ {#if app.raw_app && effectiveWorkspace}
97
+ <RawAppPreview
98
+ workspace={effectiveWorkspace}
99
+ user={$userStore}
100
+ secret={app.bundle_secret}
101
+ path={app.path}
102
+ runnables={(app.value?.runnables ?? {}) as Record<string, Runnable>}
120
103
  />
121
- </div>
104
+ {:else if app.raw_app && !effectiveWorkspace}
105
+ <div class="px-4 mt-20">
106
+ <Alert type="error" title="Configuration error">
107
+ Unable to load raw app: workspace information is missing.
108
+ </Alert>
109
+ </div>
110
+ {:else}
111
+ <div
112
+ class={twMerge(
113
+ 'min-h-screen h-full w-full flex',
114
+ app?.value?.['css']?.['app']?.['viewer']?.class,
115
+ 'wm-app-viewer'
116
+ )}
117
+ style={app?.value?.['css']?.['app']?.['viewer']?.style}
118
+ >
119
+ <AppPreview
120
+ noBackend={false}
121
+ context={{
122
+ email: $userStore?.email,
123
+ name: $userStore?.name,
124
+ groups: $userStore?.groups,
125
+ username: $userStore?.username,
126
+ query: urlParamsToObject(page.url.searchParams),
127
+ hash: page.url.hash.substring(1)
128
+ }}
129
+ workspace={effectiveWorkspace}
130
+ summary={app.summary}
131
+ app={app.value}
132
+ appPath={app.path}
133
+ {breakpoint}
134
+ policy={app.policy}
135
+ isEditor={false}
136
+ replaceStateFn={(path) => goto(path)}
137
+ gotoFn={(path, opt) => goto(path, opt)}
138
+ />
139
+ </div>
140
+ {/if}
122
141
  {/key}
123
142
  {:else}
124
143
  <Skeleton layout={[[4], 0.5, [50]]} />
@@ -6,6 +6,7 @@ type $$ComponentProps = {
6
6
  onLoginSuccess: () => void;
7
7
  app: (AppWithLastVersion & {
8
8
  value: any;
9
+ workspace_id?: string;
9
10
  }) | undefined;
10
11
  workspace: string | undefined;
11
12
  };